Forum: Datenbanken
Delphi
by sirius,
6. Mai 2010
So, ich habe rausgefunden, dass das Programm bei der Freigabe von TORacleQuery auch den internen Thread freigebt und vorher noch mit TThread.Waitfor auf das Ende wartet. Allerdings wurde der Thread kurz zuvor mit suspend schlafen gelegt (warum weis ich nicht).
Hier mal der Code zum selber testen:
//ein Doppelklick aufs Memo würde den Test starten
type
TForm1 = class(TForm)
...
Forum: Datenbanken
Delphi
by sirius,
5. Mai 2010
Nein, das ist was bei anderen Datenbankkomponenten "Open" und "ExecSQL" ist. Hier ist nur beides in einem, es gibt kein open. Hier liefert auch Execute ein Recordset zurück.
Der Thread wird in der Komponente intern gestartet, den sehe ich von außen nicht und hab auch wegen fehlenden Sourcen keinen Einfluss darauf.
Forum: Datenbanken
Delphi
by sirius,
4. Mai 2010
So, nach mehrere Tagen glaube ich zu behaupten, mein Problem/Fehler eingegrenzt zu haben. Und ich vermute die Fehlerursache bei TOracleQuery bzw. dessen Anwendung.
Was macht das Programm
Das Programm habe ich soweit reduziert, wie es ging.
Jetzt ist nur noch ein Timer enthalten, der recht oft ein TOraclequery mit einer einfachen Select-Abfrage erstellt und ausführt. Das ganze im Threaded...