Einzelnen Beitrag anzeigen

Poelser

Registriert seit: 21. Apr 2008
Ort: Europa
145 Beiträge
 
Delphi 10.4 Sydney
 
#1

Neues Form öffnen in WINCE-Programm fehlerhaft

  Alt 6. Nov 2008, 10:51
Moin zusammen,

zuerst einmal die grobe Konfiguation:
Client-Server-DB auf dem Desktop mit ZEOS 6.6.3 benutzt als DB-System Sybase ASA9. Diese Applikation ist mit D7 geschrieben. Nun haben wir eine uraltes WINCE-Programm, welches dateibasiert Daten austauscht. dieses will komplett neu schreiben. Ich mache das mit Lazarus und SQLite. Die DB-Komponenten (TSQLite3Connection etc.) sind nur in einem Datenmodul, nicht auf Formularen. Das Erzeugen einer SQLite-DB auf dem PC und rüberschieben auf den PDA funktioniert auch tadellos, die DB kann auch auf dem PDA benutzt werden.

Doch jetzt kommen die Probleme auf dem PDA:
Das Erzeugen und Öffnen von weiteren Formularen führt manchmal(!) zu seltsamen Fehlermeldungen.

So sieht der Aufruf eines Formulares (Lazarus, nicht Delphi!) aus:

Delphi-Quellcode:
    FormPatBemerkung:=TFormPatBemerkung.Create(nil);
    try
      FormPatBemerkung.patid:=StrToInt(SG.Cells[0, aRow]);
      FormPatBemerkung.Caption := SG.Cells[SpalteName, aRow];
      Ergebnis:=FormPatBemerkung.ShowModal;
      if Ergebnis=mrOK then
      begin
        SG.Cells[SpalteName+3, aRow]:=FormPatBemerkung.Speichern;
      end;
    finally
      FreeAndNil(FormPatBemerkung);
    end;
Jetzt kann dieses Formular mehrfach geöffnet und geschlossen werden, dann gibt es irgendwann plötzlich beim Öffnen eine Access Violation, manchmal auch eine Meldung "Window Title cannot be set" oder so ähnlich. Das kann man dann wegklicken, und ein neuer Versuch funktioniert wieder. Oder aber das Programm verabschiedet sich sang- und klanglos. Ein ShowMessage hinter dem TFormPatBemerkung.Create zeigt, dass eben dieses Create den Fehler produziert. Wenn es knallt, dann bevor die Testmeldung angezeigt wird.

Ich habe schon experimentiert mit allen möglichen Fenstereinstellungen (bsDialog etc.). Ich benutze Lazarus 0.9.26, habe aber auch schon den Snapshot 0.9.27 vom 04.10.2008 probiert - dieselben Probleme. Lazarus 0.9.27 vom 04.11.2008 führte leider dazu, dass der Programmstart auf dem PDA mit einer Fehlermeldung abgebrochen wird.

[edit] Für Win32/i386 compiliert läuft auf dem PC einwandfrei! [/edit]

Irgendwelche Ideen, Anregungen, kann das jemand reproduzieren?

CU, Eddi
  Mit Zitat antworten Zitat