Ok, ich habe es jetzt so gemacht
Das steht in Form1;
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure Tfrm_ListBearbeiter.ShowEditBearbeiterForm; var frm: Tfrm_EditBearbeiter; begin frm := Tfrm_EditBearbeiter.Create(nil); try frm.ShowModal; finally frm.Free; end; end; |
Wenn ich nun Form1 in der DLL aus der Hauptanwendung aufrufe und dann Form2 mit folgender Zeile aufrufe,
erhalte ich nachdem ich mein Hauptform geschlossen habe erhalte ich eine EAccessViolation in module bearbeiter.dll at usw Fehlermeldung
Delphi-Quelltext
1:
| ShowEditBearbeiterForm; |
Wenn ich allerdings ins onClose der zweiten Form in der DLL das free für die Form reinsetze und das frm.free aus der oben angegebenen Procedure zum erstellen der Form entferne, dann geht es.
Woran liegt das?