![]() |
Neues Form öffnen in WINCE-Programm fehlerhaft
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. :-D 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:
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. :cry:
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; 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. :wall: [edit] Für Win32/i386 compiliert läuft auf dem PC einwandfrei! [/edit] Irgendwelche Ideen, Anregungen, kann das jemand reproduzieren? CU, Eddi |
Re: Neues Form öffnen in WINCE-Programm fehlerhaft
Warum übergibst du als Owner nil und nicht die Mainform? Oder gibt es keine?
|
Re: Neues Form öffnen in WINCE-Programm fehlerhaft
Hi,
Zitat:
Ich bin bei der Fehlersuche auch schon einen (kleinen) Schritt weiter: Der Start der Applikation auf einem echten Gerät (hatte bisher immer den Emulator von MS benutzt) scheitert mit 0.9.27er Snapshot mit der Meldung "Bus error or misaligned data access". Die 0.9.26er hat dieses Problem nicht, da ist ja das Form-Problem. Und hier gibt es auf dem echten Gerät entweder eine Schutzverletzung - oder eben den Fehler im Alignment! CU, Eddi [edit] Hab's getestet, hat keinen Einfluss :cry: [/edit] |
Re: Neues Form öffnen in WINCE-Programm fehlerhaft
|
Re: Neues Form öffnen in WINCE-Programm fehlerhaft
Zitat:
Es könnte höchstens noch an den aufgepappten Komponenten liegen, aber ein Zusammenhang mit 5 TEdit und 5 TLabel? Ich habe noch eine zweite Form, die hat 1 TLabel, 1 TComboBox und 1 TMemo. Die rauscht vergleichsweise fast nie ab! CU, Eddi |
Re: Neues Form öffnen in WINCE-Programm fehlerhaft
Moin,
ich bin nun schon einen wesentlichen Schritt weiter. Verantwortlich scheint tatsächlich TEdit zu sein. Nehme ich diese Komponenten vom Formular runter und kommentiere den entsprechenden Code aus, dann sind die Probleme weg. Ich habe habe nun statt der TEdits einfach TMemos draufgepappt und im OnKeyPress alles rausgefiltert, was eine neue Zeile erzeugen würde. Der User merkt den Unterschied natürlich nicht, und nun gibt's auch keine Schutzverletzungen mehr :thumb: Also, TEdit für WINCE ist wohl leider noch buggy :gruebel: |
Re: Neues Form öffnen in WINCE-Programm fehlerhaft
Sicher, dass es an den TEdits liegt? Hast du irgendwlechen Code, die die Edits betreffen?
|
Re: Neues Form öffnen in WINCE-Programm fehlerhaft
Zitat:
In einem anderen Testfall hatte ich ein Formular mit je 1 TLabel und TListbox. Das war stabil, bis ich einfach mal ein TEdit auf's Form gepappt hatte. TEdit wieder beseitigt, und schon kann man das Form wieder etliche Male öffnen/schließen ohne Schutzverletzung. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz