AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Über dynamischen Namen auf eine Instanz zugreifen
Thema durchsuchen
Ansicht
Themen-Optionen

Über dynamischen Namen auf eine Instanz zugreifen

Ein Thema von skyphab · begonnen am 19. Apr 2004 · letzter Beitrag vom 19. Apr 2004
Antwort Antwort
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#1

Re: Über dynamischen Namen auf eine Instanz zugreifen

  Alt 19. Apr 2004, 21:18
Du brauchst eine objektklasse, die eine Name property hat:

Delphi-Quellcode:
type
  TNamedObject = class(TObject);
  private
    FName:string;
  public
    constructor Creat(const aName:string);
    Class function FindInstance(const aName:string):TNamedObject;
    property Name:String read FString write FString;
  end;
   
implementation

uses contnr;

var
  ObjectList: TObjectList;


constructor TName.Creat(const aName:string);
begin
  FName := aName;
  ObjectList.add(self); // selbst verwaltung
end;

Class function FindInstance(const aName:string):TNamedObject;
var i:Integer;
begin
  result := nil;
  for i:= 0 to ObjectList.count-1 do
    if sameText(TNamedObject(ObjectList[i]).FName, aName) then
    begin
      result := TNamedObject(ObjectList[i]);
      exit;
    end;
end;

initialization
  ObjectList:= TObjectList.create; // liste erzeugen
  ObjectList.ownsObjects := true;

finalization
  ObjectList.free; // alle objekte wieder freigeben
end.
Damit hättest du das alles schön in eine klasse gekapselt! Und so arbeitest du damit:

Delphi-Quellcode:
// Neues object erzeugen und der liste anfügen
TNamedObject.create('Peter');

// suchen und finden
objX := TNamedObject.findInstance('Peter');
if objX <> nil then ObjX.doSameMethod; // gefunden
..Habs aus dem kopf geschrieben, desshalb können fehler drinne sein...das prinzip sollte aber deutlich werden
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:06 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-2025 by Thomas Breitkreuz