Re: Hilfe beim Beheben einer Access Violation
Zitat:
Zitat:
|
Re: Hilfe beim Beheben einer Access Violation
Hallo,
nein, damit erreicht du das Gegenteil. Zur Frage, was das ist, gibt es doch die schöne Hilfe ? Akademisches Bsp:
Delphi-Quellcode:
Es wird nur der 1. Teil ausgewertet,
function Foo: Integer;
begin Result:= 1; end; {$B+} a:= 0; if (a=0) or (b=Foo) da das Endergebnis ja schon True ist Foo als Funktion wird überhaupt nicht angesprungen. Das kann gut sein, oder nicht, je nachdem, ob der Programmierer in Foo etwas macht, was immer gemacht werden soll, oder nicht. Ist immer lustig, solche Sachen zu suchen und zu finden. Heiko |
Re: Hilfe beim Beheben einer Access Violation
Zitat:
Zitat:
|
Re: Hilfe beim Beheben einer Access Violation
|
Re: Hilfe beim Beheben einer Access Violation
HI
FreeAndNil ist eine Delphi-Prozedur aus der Sysutils-Unit. Der interne Aufbau sieht wie folgt aus:
Delphi-Quellcode:
Zuerst wird Temp das Objekt (die Komponente oder sonst was) zugewiesen. Dann wird der VAR-Parameter auf nil gesetzt. -> Fazit: er ist eindeutig nil. Danach wrd noch das Objekt aus dem Speicher geräumt. Achtung: Da .Free von TObject aufgerufen wird, darf diese Prozedur nirgendwo überschrieben werden, was bei manchen Programmierern manchmal vorkommt. Zerstört wird in .Destroy.
procedure FreeAndNil(var Obj);
var Temp: TObject; begin Temp := TObject(Obj); Pointer(Obj) := nil; Temp.Free; end; Bernhard |
Re: Hilfe beim Beheben einer Access Violation
Zitat:
|
Re: Hilfe beim Beheben einer Access Violation
Naja, {B+} hat doch nicht geholfen. Schade, ich hatte 9 Spiele am Stück, das sah so gut aus :|
Zitat:
|
Re: Hilfe beim Beheben einer Access Violation
Zitat:
Vllt. noch jemand eine Ahnung? |
Re: Hilfe beim Beheben einer Access Violation
Nein Free ist eine Methode der Basis-Klasse TObject, von welcher alle Klassen direkt oder indirekt abgeleitet sind. Überschreibt man diese Methode sollte man am ende die geerbete Aufrufen:
Delphi-Quellcode:
procedure TMeineKlasse.Free();
begin ... inherited; end; |
Re: Hilfe beim Beheben einer Access Violation
Zitat:
EDIT: Habs schon gefunden. Hatte mich bloß verlesen. Das löst das Problem mit der Acces Violation! Danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 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