Gerade versuche ich, ein Programm, von mir selbst erstellt in Embarcadero Delphi 10.2 auf Windows 7, für den Lazarus 1.8.4 / FPC 3.0.4 - Compiler (64 Bit) anzupassen.
Zunächst stellte ich fest, dass die Handhabung von Formularen, die erst im Laufe des Programms, abhängig von der Benutzung, in Embarcadero-Delphi gleich beim Programmstart im Hintergrund erzeugt werden. Im FPC-Programm passiert das nicht.
Doch selbst wenn das Formular im FPC-Programm mit erzeugt wurde mit
FormPointEdit := TFormPointEdit.Create(Application);
dann ist es scheinbar nicht möglich, anschließend auf bereits definierte Formularsteuerelemente zwecks Initialisierung zuzugreifen,
z.B. ein Editierfeld mit edtFile.Text := 'polygon01.str';
aufgerufen in einer Methode von TFormPointEdit vom Hauptformular aus, wo ein Punkt durch Anklicken ausgewählt wird, mit
FormPointEdit.InsertPoint(...);
Es kommt immer zu einem Absturz mit folgender Meldung:
"Projekt ... hat Exception-Klasse >>External: SIGSEGV<< ausgelöst. In Datei 'include\control.inc' in Zeile 3501."
Im Debugging öffnet sich dann ein Fenster auf die Datei control.inc und zeigt auf eine Zeile mit folgendem Inhalt:
GetTextMethod := TMethod(@Self.GetTextBuf);
Im Embarcadero-Delphi-Programm ist dieser Zugriff auf Steuerelemente anderer Formulare überhaupt kein Problem.
Habe ich für Lazarus/FPC etwas vergessen?
(in Lazarus/FPC programmiere ich relativ selten)
Geht das überhaupt so direkt, was ich hier vorgestellt habe?
Wenn ja, was muss ich dann tun?