AGB  ·  Datenschutz  ·  Impressum  







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

Zeiger freigeben

Ein Thema von TomDooley · begonnen am 16. Jun 2005 · letzter Beitrag vom 21. Jun 2005
 
Robert_G
(Gast)

n/a Beiträge
 
#10

Re: Zeiger freigeben

  Alt 21. Jun 2005, 15:07
Warum willst du unbedingt it records und Zeigern arbeiten?

Alki hat in der CodeLib ein Hier im Forum suchenObjectList template platziert.
Damit ist folgendes möglich:

Eine Klasse, die dein Item darstellt (die Liste wird durch ein paar Extra runden des Compilers angelegt ):
Delphi-Quellcode:
uses Contnrs;

type
   TTest = class
   private
      fSomeValue: Integer;
   public
      property SomeValue: Integer read fSomeValue;
      procedure DoSomething;
      constructor Create(aSomeValue :Integer); virtual;
   end;

   _LIST_ITEM_ = TTest;
{$DEFINE TYPED_LIST_TEMPLATE}
{$INCLUDE ObjList_Tmpl.pas}
   TTestList = _LIST_;

implementation

{$INCLUDE ObjList_Tmpl.pas}

{ TestClass }

constructor TTest.Create(aSomeValue: Integer);
begin
   fSomeValue := aSomeValue;

end;

procedure TTest.DoSomething;
begin
   Writeln(SomeValue);
end;
Die Verwendung ist absolut easy.
Delphi-Quellcode:
procedure TTestUsage.DoSomething;
var
   List : TTestList;
   Item : TTest;
   Counter : Integer;
begin

   List := TTestList.Create();
   try

      for Counter := 1 to 100 do
      begin
         Item := TTest.Create(Counter);
         List.Add(Item);
      end;

      for Counter := 0 to List.Count do
      begin
         List[Counter].DoSomething(); // ohne type cast :-)
      end;

   finally
      List.Free();
   end;
end;
Ohne ^, @, Typecasts, anderes Gefriemel... (Die Typecasts sind ja schon im Template versteckt )
  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 09:40 Uhr.
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 by Thomas Breitkreuz