Avatar billede kingguro Nybegynder
17. december 2001 - 12:51 Der er 8 kommentarer og
1 løsning

Finde om der allerde er Createt?


var
shape : Tshape;
begin
shape := TShape.Create(Self);
end;

Nu har jeg gjordt plads til den nye shape. Men er der nogen må hvorpå jeg kan tjekke om det allerede er gjordt som f.eks.

if shape.free then

findes der nogen måde at undersøge dette på?
Avatar billede tknudsen Nybegynder
17. december 2001 - 12:54 #1
if not Assigned(shape) then
  shape := TShape.Create(Self);
Avatar billede snowball Novice
17. december 2001 - 12:54 #2
Hva\' med

if assigned(shape) then
  shape.Free;

!?

Snowball
Avatar billede borrisholt Novice
17. december 2001 - 12:55 #3
Det er ikke så svært ... Når du skal nedlægge dit object, kalder du FreeAndNil(shape).

Nå du så senere vil vide om der er et Shape object eller ej. bruger du if Assigned(shape) then ....

Jens B
Avatar billede snowball Novice
17. december 2001 - 12:57 #4
Vi er da i princippet i det mindste enige *GG*

Snowball
Avatar billede borrisholt Novice
17. december 2001 - 13:01 #5
Ikke helt ....

Snowball er du ikke flink og fortælle hvad der sker når det her kode bliver kørt :

procedure TForm1.Button1Click(Sender: TObject);
var
  aOBJ : TObject;
begin
  aOBJ := TObject.Create;
  aOBJ.Free;
  if Assigned(aOBJ) then
    ShowMessage(\'Borrisholt styrer\');
end;


Jens B
Avatar billede borrisholt Novice
17. december 2001 - 13:01 #6
og det her :
procedure TForm1.Button1Click(Sender: TObject);
var
  aOBJ : TObject;
begin
  aOBJ := TObject.Create;
  FreeAndNil(AOBJ);
  if Assigned(aOBJ) then
    ShowMessage(\'Borrisholt styrer\');
end;

Jens B
Avatar billede tknudsen Nybegynder
17. december 2001 - 13:03 #7
*slask* - slag over fingrene

- godt det ikke var mig,der kom op til tavlen :-)
Avatar billede borrisholt Novice
17. december 2001 - 13:05 #8
Hvis ikke du bruger Delphi 6 her du ikke proceduren FreeAndNil, men kan implm. således :

procedure FreeAndNil(var Obj);
var
  Temp: TObject;
begin
  Temp := TObject(Obj);
  Pointer(Obj) := nil;
  Temp.Free;
end;


Jens B
Avatar billede snowball Novice
17. december 2001 - 14:26 #9
hhhmm...Ja OK, den virker ikke lige helt efter hensigten ;)

Snowball
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Capgemini Danmark A/S

Java Engineer

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Kræftens Bekæmpelse

IT-driftsleder

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Sektionschef for Facility Management til Forsvarets nye Digital Backbone