Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Speichersalat zur Laufzeit (https://www.delphipraxis.net/17047-speichersalat-zur-laufzeit.html)

Tonic1024 27. Feb 2004 12:05


Speichersalat zur Laufzeit
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi...

Ich habe folgendes Phänomen beobachtet:

Wenn ich in meinem Programm eine SQL-Query öffne muss ich ca 40 sec auf das Ergebnis warten. Darum habe ich die Abfrage in einen Tread laufen, in dem ein Datenmodul mit den DBExpress- und IB-Kompos aus einer DLL geladen wird. Es erscheint also ein Fenster, dass die sekunden (Dauer der Abfrage) mitzählt.

Leider habe ich aber sehr ungeduldige User, die diese Zeit nutzen um z.B. ein Word-Dokument zu öffnen. Wenn sie dies nun tun, dauert das Laden des Dokuments einen Moment länger als gewohnt - okay. Wenn ich dann aber anfange zwischen meinem Programm und dem Worddokument (und noch ein paar anderen Fenstern wie Arbeitsplatz, Notepad etc.) hin und herzuschalten während die Query noch läuft, dann bekomme ich einen Speicherfehler. Aber nur manchmal!
:gruebel:

Das Programm setzt eine SQL-Abfrage (SQLQuery via SQLConnection) ab, liest das in mein TDatenArray ein (type Array of Array of String) und gibt es von der DLL an das Hauptprogramm zurück. Dort wird es noch kalkuliert,formatiert und ausgegeben (in ca 1 sekunde je nach Datenaufkommen auch länger).

Hat jemand ne Idee was ich mal versuchen kann. Oder worauf ich in meinem Code achten sollte?

[edit]Achja... ich benutze FastSharemem 2.1 für die Übergabe der String-Typen an die DLL. Das muss leider so und funktioniert auch soweit. Ist in einem unabhängigen Projekt ausgiebig getestet.[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz