AGB  ·  Datenschutz  ·  Impressum  







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

Objecte zwischenspeichern

Ein Thema von EWeiss · begonnen am 16. Sep 2008 · letzter Beitrag vom 22. Sep 2008
 
nahpets
(Gast)

n/a Beiträge
 
#10

Re: Objecte zwischenspeichern

  Alt 17. Sep 2008, 10:29
Hallo Emil,

ich versteh' das nicht:

Heißt das, Du hast hier Dein Problem?

Delphi-Quellcode:
procedure TMainForm.JvDesignPanelSelectionChange(Sender: TObject);
bumm???
end;
Dann müsstest Du für meine Begriffe mit Hilfe der TypInfo herausbekommen können, was denn da bitte jetzt genau in Sender steckt.

Hiermit solltest Du z. B. herausbekommen, in welcher Unit Deine Klasse definiert ist:
Delphi-Quellcode:
{ Die Funktion liefert den Namen der Unit, in der die übergebene Klasse defi-  }
{ niert wurde.                                                                 }
function GetUnitName(AClass : TObject) : String;
var
  ClassTypeInfo : PTypeInfo;
  ClassTypeData : PTypeData;
begin
  ClassTypeInfo := AClass.ClassInfo;
  ClassTypeData := GetTypeData(ClassTypeInfo);
  Result := ClassTypeData.UnitName;
end;
Das sollte Dir eine Liste der Vorfahren Deiner Klasse bringen:
Delphi-Quellcode:
{ Die Prozedur ermittelt die Vererbungsstruktur des übergebenen Objektes und   }
{ gibt die Struktur in der Stringliste zurück.                                 }
procedure GetClassAncestry(AClass: TObject);
var
  AncestorClass : TClass;
begin
  AncestorClass := AClass.ClassParent;
  { Iteriert durch die Parentklassen, beginnend mit dem übergebenen Objekt,    }
  { bis kein Vorfahre mehr vorhanden ist.                                      }
  GlobaleStringListe.Add('Class Ancestry');
  while AncestorClass <> nil do begin
    GlobaleStringListe.Add(AncestorClass.ClassName));
    AncestorClass := AncestorClass.ClassParent;
  end;
end;
Es müsste doch damit und ggfls. weiteren Funktionen möglich sein, herauszubekommen, was für ein Objekt da jetzt ankommt und zu entscheiden, das nehme ich oder das nehme ich nicht an oder das behandle ich so oder eben anders oder auch garnicht.

Wenn Du nun nur TImage und TLabel hast, müsste doch ein

If HasProperty(Sender, 'Picture') Then anstelle von "bumm???" reichen, um festzustellen, ob es ein TImage ist oder nicht? Oder bin ich hier momentan auf dem falschen (Rhein)-Dampfer.

Stephan
  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 18:20 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