Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Lokale Variable Threadsicher?

  Alt 31. Mai 2013, 10:50
Zwar ist immer noch nicht klar warum es an dieser Stelle 'knallt' aber, dass muss dann wohl einen anderen Grund haben als das Multi-Threading.

Vielen Dank für die Antworten!
Grüße Matthias
Es liegt nicht an den lokalen Variablen

Update:

Bzw. es kann schon daran liegen, allerdings ist die Ursache eine falsche Handhabung.
Eine lokale Variable ist beim Aufruf nicht initialisiert. Soll heißen, die zeigt auf irgendeine Stelle im Speicher.
Greift man nun auf diese Variable einfach so zu, dann können die lustigsten Sachen passieren.

z.B. das hier
Delphi-Quellcode:
procedure TForm1.Foo;
var
  LForm : TForm;
begin
  LForm.Close;
end;
kann zu einer Exception oder auch dazu führen, dass eine x- beliebige Form geschlossen wird
Darum schmeisst der Compiler auch eine Warnung aus, wenn eine lokale Variable nicht initialisiert wurde.

Das solltest du zuerst prüfen (Compiler-Warnungen, Initialisierung der lokalen Variablen)
Danach, ob irgendwelche Abhängigkeiten von aussen (z.B. bei einer lokal erzeugten Query eine "globale" Connection benutzen) eingeschleust werden.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (31. Mai 2013 um 11:02 Uhr)
  Mit Zitat antworten Zitat