Einzelnen Beitrag anzeigen

Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#1

Access Violation bei TOpenFileName

  Alt 22. Aug 2002, 22:53
Ich benutze folgende TOpenFileName-Struktur in meinem nonVCL-Programm:
Code:
OFN.lStructSize := SizeOf(OpenFileName);
OFN.hWndOwner := Hnd;
OFN.hInstance := hInstance;
OFN.lpstrFilter := DataInput_Filter;
OFN.lpstrCustomFilter := nil;
OFN.nMaxCustFilter := 0;
OFN.nFilterIndex := 0;
OFN.nMaxFile := 256;
OFN.nMaxFileTitle := 256;
OFN.lpstrFile := @FileName;             { markiert }
OFN.lpstrFileTitle := @FileTitle;       { markiert }
OFN.lpstrInitialDir := 'C:\';
OFN.lpstrTitle := 'Quelldatei auswählen';
OFN.Flags := OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST or OFN_READONLY;
Das funktionniert ohne Probleme, solange das Programm läuft. Aber wenn ich es beende, bekomme ich eine Access-Violation. Wenn ich oben markierte Annweisungen auskommentiere, triit dies nicht auf. Die Puffergröße müsste groß genug sein, denn die Funktion GetOpenFileName liefert ja True zurück. Aus dem PSDK werd ich nicht so ganz schlau, ob oben genannte Felder eine Initialisierung brauchen. Wäre also ganz scönn, wenn mir jemand helfen könnte.[/code]

Nachtrag: Auch wenn man es sich wahrscheinlich denken kann, wollte ich doch noch sagen, dass der Fehler nur auftritt, wenn diese Struktur als Parameter einer GetOpenFileName-Funktion aufgerufen wird.
Und da der Fehler nach dem Senden der WM_DESTROY-Nachricht auftaucht, sag ich noch, dass bei WM_DESTROY lediglich steht:
Code:
PostQuitMessage(0)
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat