AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Objekt Typ feststellen und gleichen Typ neu erstellen?
Thema durchsuchen
Ansicht
Themen-Optionen

Objekt Typ feststellen und gleichen Typ neu erstellen?

Ein Thema von moelski · begonnen am 14. Mai 2009 · letzter Beitrag vom 14. Mai 2009
Antwort Antwort
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

Objekt Typ feststellen und gleichen Typ neu erstellen?

  Alt 14. Mai 2009, 08:47
Moin !

Nachdem mein RTTI nun funktioniert habe ich noch folgendes Problem:

Angenommen ich habe die Serie (TFastLineSeries) und ich möchte ein Objekt vom selben Typ erstellen. Dann würde man eine Zeile nutzen ala
Delphi-Quellcode:
var series1: TChartSeries;
begin
  series1 := TFastLineSeries.Create(nil);
Wie kann ich das universell hinkriegen?
Also Typ bestimmen und dann mit dem ermittelten Typen die Serie erstellen?

Die Variable series1 passt jedenfalls für alle Typen:
Zitat:
TChartSeries is the ancestor abstract class of every chart series type.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: Objekt Typ feststellen und gleichen Typ neu erstellen?

  Alt 14. Mai 2009, 09:06
Sollte tun :
  lSerie := TChartSeries(Instanz.ClassType).Create(Self);
Glückauf
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Objekt Typ feststellen und gleichen Typ neu erstellen?

  Alt 14. Mai 2009, 09:15
Moin !

Delphi-Quellcode:
var series1: TChartSeries;
begin
  series1 := TChartSeries(Chart1[0].ClassType).Create(Self);
  Chart2.AddSeries(series1);
Chart1 = Qullchart ...

Das führt leider zu einer Exception:
Erste Gelegenheit für Exception bei $7C812AFB. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 8D208964. Lesen von Adresse 8D208964'.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: Objekt Typ feststellen und gleichen Typ neu erstellen?

  Alt 14. Mai 2009, 10:10
Du hast leider recht, ich such weiter
Glückauf
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Objekt Typ feststellen und gleichen Typ neu erstellen?

  Alt 14. Mai 2009, 10:11
Hallo,

vielleicht kann man das Problem mit Hilfe eines Streams lösen: klick

@guinnes
ClassType liefert eine Klassenreferenz (class of TObject), keine Instanz (TObject). Der Typecast kann also so nicht funktionieren.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Objekt Typ feststellen und gleichen Typ neu erstellen?

  Alt 14. Mai 2009, 10:14
Vielleicht gehts so?

Delphi-Quellcode:
type
  TChartClass = class of TChartSeries
var
  series1: TChartSeries;
begin
  series1 := TChartClass(Chart1[0].ClassType).Create(Self);
  Chart2.AddSeries(series1);
Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Objekt Typ feststellen und gleichen Typ neu erstellen?

  Alt 14. Mai 2009, 10:16
So gehts bei mir:

Delphi-Quellcode:
var
  ser2 : TChartSeries;
begin
  ser2 := TChartSeriesClass(Chart1.SeriesList[0].ClassType).Create(Chart1);
  Chart1.AddSeries(ser2);
end;
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: Objekt Typ feststellen und gleichen Typ neu erstellen?

  Alt 14. Mai 2009, 10:33
Zitat von Hawkeye219:
@guinnes
ClassType liefert eine Klassenreferenz (class of TObject), keine Instanz (TObject). Der Typecast kann also so nicht funktionieren.
Stimmt, der Cast war falsch
Glückauf
  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 00:06 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