Einzelnen Beitrag anzeigen

muli

Registriert seit: 7. Mär 2011
11 Beiträge
 
#3

AW: SIGSEGV bei öffnen einer SQL-Query

  Alt 6. Jul 2012, 12:31
Danke für die schnelle Antwort. Ich habe nun die Formularvariable lokal deklariert, wie von Dir vorgeschlagen. Der Fehler beim Create und wird nicht vom Programm erzeugt, sondern es kommt ein kommentarloses SIGSEGV vom Betriebssystem. Daher funktioniert das abfangen mit try auch nicht. Create und destroy sind im Formular wie folgt deklariert:
Delphi-Quellcode:
public
{ public declarations }
constructor Create (AOwner : TComponent ; AConnection : TMyConnection;
                AUser: TMyUser) ; reintroduce ;
destructor destroy; override;
Destroy deshalb, weil die Transactions eine abgeleitete Klasse von TSQLTransaction sind und zur Laufzeit erzeugt (create des Formulars) werden. Das war nötig, weil bei Lazarus die originale Transaction buggy ist und ein Speicherleck hinterlässt, wenn nicht CloseTrans explizit aufgerufen wird. Bin noch immer ratlos. Wie kann ich herausbekommen, ob Speicher irgendwo nicht wieder freigegeben wird?
  Mit Zitat antworten Zitat