Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Speicheradresse eine Pointers, Objektes etc. ausgeben lassen (https://www.delphipraxis.net/41737-speicheradresse-eine-pointers-objektes-etc-ausgeben-lassen.html)

Luckie 7. Mär 2005 21:16

Re: Speicheradresse eine Pointers, Objektes etc. ausgeben la
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  sl: TStringList;
begin
  sl := TstringList.Create;
  try
    ShowMessage(IntToStr(Integer(@sl)));
  finally
    FreeAndNil(sl);
  end;
end;
Geht wunderbar. Allerdings erhalte ich ohne @ einen anderen Wert.

Sprint 7. Mär 2005 21:20

Re: Speicheradresse eine Pointers, Objektes etc. ausgeben la
 
Zitat:

Zitat von static_cast
Wenn ich das @ wegnehme mach er erst recht nix, 0.

Dann hast du was falsch gemacht.

Zitat:

Zitat von Luckie
Geht wunderbar. Allerdings erhalte ich ohne @ einen anderen Wert.

Ohne @ ist die Objektreferenz auf TStringList und mit ist die Variable wo die Objektreferenz gespeichert ist.

Sprint 7. Mär 2005 21:21

Re: Speicheradresse eine Pointers, Objektes etc. ausgeben la
 
Delphi-Quellcode:
function Test1: Integer;
var
  SL: TStringList;
begin

  SL := TStringList.Create;
  SL.Add('Test');
  Result := Integer(SL);

end;

procedure Test2(I: Integer);
begin

  with TStringList(I) do
  begin
    ShowMessage(Text);
    Free;
  end;

end;

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  I := Test1;
  Test2(I);
end;

static_cast 7. Mär 2005 21:24

Re: Speicheradresse eine Pointers, Objektes etc. ausgeben la
 
ich habs jetzt mal so probiert

Delphi-Quellcode:
procedure Test;
var
  I:Integer;
  S:TStrings;
begin
  S:=TStringList.Create;
  I:=Integer(S);
  S.Add('1');
  S:=nil;
  S:=TStringList(Pointer(I));
  ShowMessage(S.Text);
  S.Free;
end;
das @ muss auch weg, sonst gibts eine Exception, die MessageBox gibt mir dann auch 1 aus also scheint es zu gehen, egal warum ich bei der Ausgabe vom Integer trozdem eine 0 bekommen, hauptsache es geht :)

Danke euch :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr.
Seite 2 von 2     12   

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