AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi [ Eledigt ]Inkompatible Typen TformClass und Class reference
Thema durchsuchen
Ansicht
Themen-Optionen

[ Eledigt ]Inkompatible Typen TformClass und Class reference

Ein Thema von Newbi · begonnen am 3. Apr 2008 · letzter Beitrag vom 4. Apr 2008
Antwort Antwort
Muetze1
(Gast)

n/a Beiträge
 
#1

Re: Inkompatible Typen TformClass und Class reference

  Alt 3. Apr 2008, 21:49
Zitat von SirThornberry:
das es nicht genau eine instanz von TForm ist war mir klar aber eben ein Nachfahre.
Aber du schriebst was anderes:

SirThornberry
denn TFormClass.Create gibt dir ein TForm zurück und kein TFormClass. Dementsprechend kannst du den Rückgabewert von TFormClass.Create nur auf eine Variable vom Typ TForm zuweisen und nicht auf eine Variable vom Typ TFormClass.


Und das stimmt nicht bzw. hat er gemacht, da newForm vom Typ TForm ist. Mehr habe ich nicht anmerken wollen.

@Busybyte: Damit kannst du eine eine Methode nutzen um eine Klasse zu instanziieren ohne das ihr genauer Typ zur Designtime feststeht. Dieser kann erst zur Laufzeit ermittelt werden. Es ist sozusagen eine Variable die einen Klassentyp aufnehmen kann. Somit kannst du zur Laufzeit ohne den wirklichen Typ zu kennen eine Instanz bilden.

Bei deinem Ausgangsbeispiel wurde das in der Methode ShowForm genutzt um unabhängig von der später verwendeten Form das gewünschte Verhalten zu implementieren. Es hätte natürlich eine vorhandene Form Instanz gereicht, aber da er die Form auch erzeugt braucht er eine solche Klassenreferenz.

Aber hier dein Beispiel weniger "frei" und angepasst an dein spezielles Beispiel ohne TFormClass:
Delphi-Quellcode:
procedure TFrm_Main.ShowForm;
begin
  newForm := TFrm_Startseite.Create(self);
  newForm.BorderStyle := bsNone;
  newForm.Parent := Panel_Content; // "In diesem Panel" werden die Forms angezeigt.
  newForm.Align := alClient;
  newForm.Show;
end;
  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 16:51 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