Zitat von
Christian Seehase:
Ich vermute mal, dass Du den Speicher für die Struktur mit GetMem oder AllocMem zuweist.
Eigentlich nicht. Da ich bei Records dies eigentlich noch nie gebraucht hab, hab ich es hier auch nicht gemacht. Sollte ich das trotzdem tun?
Zitat von
Christian Seehase:
Wie werden denn die variablen Strings deklariert und initialisiert?
(DataInput_Filter, FileName, FileTitle)
DataInput_Filter müsste ja ein PChar, die anderen beiden als String deklariert sein (so wie Du sie verwendest).
Obwohl des bei Strings ja @FileName[1], bzw. @FileTitle[1] heissen müsste, damit's funktioniert.
DataInputFilter ist eine String-Konstante, FileName und -Title String-Variablen.
Zitat von
Christian Seehase:
Zu guter Letzt:
Werden denn die reservierten Speicherbereiche auch alle wieder freigegeben?
(DataInput_Filter und ggf. OFN)
Das würde ich gerne tun, das Problem ist aber, dass beim Freigeben eine InvalidPointer-
Exception auftritt. Liegt vielleicht daran, dass ich gar keinen Speicher reserviere. Ich weiß nämlich nicht genau, wie. Wenn ich als ersten Parameter @OPN übergeben will, kommt die Fehlermeldung "Der linken Seite kann nichts zugewiesen werden.". Aber ist jetzt nicht mehr so wichtig, dennn wenn ich statt @FileName @FileName[1] nehme, klappt es. Also vielen Dank für die Hilfe.
Zitat von
Christian Seehase:
BTW: Hast Du Dir die Struktur selber definiert?
Nein, hab ich nicht, sie ist in der CommDlg.pas definiert und wird für die von Windows erstellten Open- und Savedialoge verwendet.