AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi variable einer abgeleiteten Klasse auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

variable einer abgeleiteten Klasse auslesen

Ein Thema von goddi · begonnen am 7. Jan 2004 · letzter Beitrag vom 7. Jan 2004
Antwort Antwort
goddi

Registriert seit: 6. Jan 2004
4 Beiträge
 
#1

variable einer abgeleiteten Klasse auslesen

  Alt 7. Jan 2004, 17:50
hi,

zunächst einmal folgender code..:

Delphi-Quellcode:
tTeil = class
      TeilTyp: string;
      Ladung, Nummer: integer;
      x, y: integer;
      aktiv: boolean;
      constructor init(nx, ny: integer);virtual;
      procedure zeichnen;virtual;
      function anWelchemObjekt: tTeil;
      end;

tBuchse = class(tTeil)
      Verbindung: tBuchse;
      Typ: string;
      constructor init(nx, ny: integer);override;
      procedure zeichnen;override;
      end;

zweiEeinA = class(tTeil)
      Eingang1, Eingang2, Ausgang1: tBuchse;
      constructor init(nx, ny: integer); override;
      procedure zeichnen; override;
      end;


[....]

procedure blabla;
var t: tTeil;
  begin
  try
    ShowMessage(inttostr(aktTeil.Eingang1.Ladung));
    except
      ShowMessage('ungültiger Typ');
    end;
  end;

das problem ist, dass 't' vom typ tTeil sein MUSS, ich in diesem aber die variable Eingang1 nicht deklarieren will (wenns ned anders geht, muss ichs halt machen..).

wenn jmd was eleganteres wüsste, möge er sich bitte melden
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

Re: variable einer abgeleiteten Klasse auslesen

  Alt 7. Jan 2004, 18:07
Das Prinzip welche Du brauchst schimpft sich Typ-Casting.

Delphi-Quellcode:
procedure blabla;
var t: tTeil;
  begin
    if aktTeil is zweiEeinA then
      ShowMessage(inttostr(zweiEeinA(aktTeil).Eingang1.Ladung))
    else
      ShowMessage('aktTeil ist vom Typ: ' + aktTeil.ClassName);
  end;
......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  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 23:49 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