| |
|
|
| ¡Hola Profaner...
Hab veces otra vez (seit längerem) qué merkwürdiges:
Bajo XP erhalte Yo en uno API zeitweise Zugriffsverletzungen, el Yo no erklären kann (son auch muy selten y treten scheinbar sólo en el compilierten EXE en). En uno otro API verweigert esta me zeitweise bajo Windows95 grundlos el Dienst. Yo habe el Eindruck, daß dies antes allen Dingen en APIs passiert, el en el Registry zugreifen oder Systemeinstellungen ändern.
Wer sabe außer me todavía dieses Problema? (Franco evtl.? Posesiones [...] con Interesse gelesen!)
Yo habe en el Augenblick el unbegründeten Verdacht, daß el al Profano Messagehandling mentira podría (Roland möge me verzeihen) - habe el API una DulcoIF verpasst, danach trat el Fehler no mehr en. |
|
|
| |
|
|
|
Frank Abbing | Hi,
en el de me angesprochene Problema a kommen: Lo trat bajo Ensamblador en, allerdings innerhalb des Subclassings uno Profano-Hauptfensters. Hab aber en un otro Foro gelesen, el alguien más genau el gleiche Problema hatte. Der hatte con Profano aber sicher nichts a tun... |
|
|
| |
|
|
|
| ¡Hola Franco...
Das scheint wirklich no a mi Problema a passen. En me hay para una Problemas bajo Windows95 con el Función RegLoadKey, el zeitweise simplemente no Hive invitar voluntad y para otro bajo XP con el Función LSAEnumerateAccountRights oder tal vez el Función LSAFreeMemory, el zeiweise una Zugriffsverletzung bringt.
El Problemas treten, como dijo, sólo bajo el genannten Betriebssystemen y en compiliertem Programa en - äußerst merkwürdig... |
|
|
| |
|
|
|
| |
|
| |
|
|
|
| ¡Hola IF...
Yo habe hier kein XP, en el Yo programa kann - Yo podría deshalb en el LSA-Características todavía no testen.
En RegLoadKey scheint el problema u.a. vom Aussehen des gesamten Quelltextes abzuhängen. Fügt uno irgendwo una Línea una, tritt el Fehler bajo Umständen fast nada mehr en.
Yo habe el Sache con Fastmode todavía no getestet - Yo zuletzt direkt antes el besagte Función una DulcoIF eingesetzt. Seitdem scheint lo a laufen. Merkwürdig... |
|
|
| |
|
|
|
| ¡Hola Profaner...
Nur bastante kurz - el problema liegt doch no a Profano. Manche APIs scheinen extremo aggressiv en una GetLastError a reagieren, el no 0 es (evtl. por el letzt FindNext$ hervorgerufen. Yo búsqueda ahora más como el Fehler... |
|
|
| |
|
|
|
| Das Problema es - glaube Yo - gelöst. Der Fehler lag beim una Quelltextschnipsel, el Yo damals sin incluso nachzudenken de uno Hilfedatei de Uwe Passcal Niemeier übernommen habe: KompilierenMarcaSeparacióndef @RegOpenKeyEx(5) !"ADVAPI32","RegOpenKeyExA"
def @RegQueryValueEx(6) !"ADVAPI32","RegQueryValueExA"
def @RegCloseKey(1) !"ADVAPI32","RegCloseKey"
declare Handle#
dim Handle#,4
declare Key#
dim Key#,100
string Key#,0="SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer" Pfad des Schlüssels
declare Name#
dim Name#,100
string Name#,0="NoDrives" Name des Wertes
declare Size#
dim Size#,1
long Size#,0=4 Länge des Wertes: 4 Bytes bei DWord
declare Wert#
dim Wert#,4 Empfangsbereich für Wert: 4 Bytes bei DWord
print @RegOpenKeyEx($80000001,Key#,0,1,Handle#) 0 wenn ok
print @RegQueryValueEx(@Long(Handle#,0),Name#,0,0,Wert#,Size#) 0 wenn ok
print @RegCloseKey(@Long(Handle#,0)) 0 wenn ok
print hex$(long(Wert#,0)) Wert als Hex$ ausgeben
dispose Handle#
dispose Key#
dispose Wert#
dispose Name#
dispose Size#
waitkey
Dabei se el Variable para el Größe des dimensionierten Bereichs (size#) con 1 dimensioniert. Sowohl Largo como auch Windows incluso conjunto aber una 4 Byte Valor. Dabei voluntad evtl. Bereiche überschrieben, en denen Variables posición, el Yo danach todavía para otro APIs nutze RegQueryValueEx arbeitet aber korrekt!. Ob y qué como überschrieben se, hängt de el Speicherorganisation, d.h. vom Aufbau des Programmes y vom OS (o. el todavía laufenden Programmen) de => lo kommt a Fehlfunktionen en el Programa oder auch a Zugriffsverletzungen, deren Ursprung no logisch a lokalisieren es .
Ahnliche Sachen puede auch Auftreten, si uno uno API uno Größeren Zona para una variable übergibt como uno vorher dimensioniert ha. Auch hier meckert Windows zumindestens no siempre y bringt - je después de Größe des eigenen Programmes, en el Hintergrund laufender Programas, OS, Programmstarts etc. - diferente Fehlermeldunge, deren Ursache no a lokalisieren es!
Wer also con unerklärlichen Programmfehler, Systemabstürzen, Zugriffsverletzungen... kämpft, debería necesariamente el APIs kontrollieren, en denen en un Parámetro el Größe uno dimensionierten Bereichs transferencia se.
Yo hoffe, Yo kann otro con diesem Contribución heftige Kopfschmerzen ersparen...
Saludo
AH |
|
|
| |
|
|
|
| Nochmals: Como ya he dicho, no el API el el Fehler enthält macht Problemas, pero irgendwelche darauf folgende Programmteile (después de oben schieb)! |
|
|
| |
|
|