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
Antwort Antwort
nahpets
(Gast)

n/a Beiträge
 
#1

Re: Objecte zwischenspeichern

  Alt 17. Sep 2008, 12:22
Hallo Emil,

einen hab ich noch

Es besteht wohl ein Konflikt zwischen

procedure TMainForm.AddControls(ATree : TBaseVirtualTree; aCtrl: TControl; DisplayName: string); und
Delphi-Quellcode:
Node := ATree.GetFirstSelected;
Data := ATree.GetNodeData(Node);
aCtrl muss nicht zwingend identisch sein mit dem selektierten Node.

Also ein Versuch:

Den Baum und seine Knoten von oben her durcharbeiten und suchen, welcher Node vom gleichen Typ wie aCtrl ist. Diesem Node den Fokus geben, dann sollte es gehen.

Hierüber könnte es doch möglich sein, die Objekte zu vergleichen, wenn eine IF-Kaskade mit IS und AS nicht ausreicht:
Delphi-Quellcode:
{ Die Prozedur ermittelt Basis-Laufzeit-Informationen zum übergebenen Objekt   }
{ und gibt die Informationen in einer Stringliste zurück.                      }
procedure GetBaseClassInfo(AClass: TObject);
var
  ClassTypeInfo : PTypeInfo;
  ClassTypeData : PTypeData;
  EnumName : String;
begin
  ClassTypeInfo := AClass.ClassInfo;
  ClassTypeData := GetTypeData(ClassTypeInfo);
  with sl Do Begin
    Add(Format('Class Name: %s ', [ClassTypeInfo.Name]));
    EnumName := GetEnumName(TypeInfo(TTypeKind), Integer(ClassTypeInfo.Kind));
    Add(Format('Kind: %s ', [EnumName]));
    Add(Format('Size: %d ', [AClass.InstanceSize]));
    Add(Format('Defined in: %s.pas ', [ClassTypeData.UnitName]));
    Add(Format('Num Properties: %d ',[ClassTypeData.PropCount]));
  End;
end;
Wenn hier der Typ festgestellt werden kann, müsste (über ein entsprechendes Cast?) ja auch der Name des Objektes zu finden sein, um das dann im Tree zu selektieren.

Wenn nicht, dann weiß ich auch nicht weiter

Stephan
  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 07:36 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