AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListBox1.Items.AddObject(...) GetObject???

Ein Thema von Luckie · begonnen am 1. Nov 2003 · letzter Beitrag vom 1. Nov 2003
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

ListBox1.Items.AddObject(...) GetObject???

  Alt 1. Nov 2003, 09:05
Ja also, ich füge zur Listbox mit AddObject nicht nur ein String hinzu, sondern auch ein Object. Und zwar so:
Delphi-Quellcode:
type
  TPerson = record
    Name: String[255];
    Vorname: String[255]
  end;
  PPerson = ^TPerson;

procedure TForm1.btnAddClick(Sender: TObject);
var
  Person : Pointer;
begin
  GetMem(Person, sizeof(TPerson));
  try
    PPerson(Person)^.Name := edtName.Text;
    PPerson(Person)^.Vorname := edtVorname.Text;
    Listbox1.Items.AddObject(IntToStr(Listbox1.Items.Count+1), TObject(Person));
  finally
    FreeMem(Person, sizeof(TPerson));
  end;
end;
So, nur wie komme ich jetzt da wieder dran?
Delphi-Quellcode:
procedure TForm1.ListBox1Click(Sender: TObject);
var
  Person: Pointer;
begin
  if Listbox1.ItemIndex > -1 then
  begin
    GetMem(Person, sizeof(TPerson));
    try
      Person := Pointer(Listbox1.Items.Objects[Listbox1.ItemIndex]);
      ShowMessage(PPerson(Person)^.Name + ' - ' + PPerson(Person)^.Vorname);
    finally
      FreeMem(Person, sizeof(TPerson));
    end;
  end;
end;
So steht nur mit in der Messagebox und nach dem dritten mal klicken, fliegt mir alles um die Ohren -> Ungültige Zeiger Operation. Wie also komme ich wieder an meine Objekte?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 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