Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi klasse: TForm-Feld createn? (https://www.delphipraxis.net/21996-klasse-tform-feld-createn.html)

Pseudemys Nelsoni 11. Mai 2004 07:22


klasse: TForm-Feld createn?
 
hallo ^^

Delphi-Quellcode:
Type
  TStatusWindowClass = class(TObject)
  private
    StatusWindow: TForm;
    StatusBox: TRichEdit;
    StatusTextBox: TEdit;
  public
    procedure CreateStatusWindow;
  end;

implementation

procedure TStatusWindowClass.CreateStatusWindow;
begin
  StatusWindow := TForm.Create(self);  <<< hier der fehler
end;
fehler ist:

Zitat:

[Fehler] IRC.pas(22): Inkompatible Typen: 'TComponent' und 'TStatusWindowClass'
jemand ne idee was falsch ist? ok, es steht zwar da, aber ich weiss nicht warum :gruebel:

Gollum 11. Mai 2004 07:59

Re: klasse: TForm-Feld createn?
 
Hallo,

das Problem liegt am Parameter Self in der Create des Forms.
TComponent und TObjekt sind in diesem Zusammenhang inkompatibel.

SirThornberry 11. Mai 2004 08:02

Re: klasse: TForm-Feld createn?
 
anstelle von self lieber nil übergeben wenn dir kein passender owner einfällt

Pseudemys Nelsoni 11. Mai 2004 08:23

Re: klasse: TForm-Feld createn?
 
nun gehts, danke :D

wieso ging denn self nicht?

GuenterS 11. Mai 2004 08:44

Re: klasse: TForm-Feld createn?
 
Weil TComponent nicht vom Typ TObject ist, wie die Fehlermeldung selbst schon sagt *g*

Pseudemys Nelsoni 11. Mai 2004 08:55

Re: klasse: TForm-Feld createn?
 
ist doch aber TForm oder ^^

Gollum 11. Mai 2004 08:59

Re: klasse: TForm-Feld createn?
 
Hallo,

der Constructor Create einer Form erwartet ein TComponent-Objekt. Wenn Du Dir einmal die Hierarchie in der Delphi-Hilfe angeschaut hättest, würdest Du wissen warum:

TObjekt - TPersistent - TComponent - .... - TForm

Alleine aus diesem Zusammenhang lässt sich erkennen, das TObjekt (bzw. TStatusWindowClass) nicht TComponent ist...

Steve 11. Mai 2004 09:10

Re: klasse: TForm-Feld createn?
 
Self ist nicht TForm sondern TStatusWindowClass :)

Pseudemys Nelsoni 11. Mai 2004 09:53

Re: klasse: TForm-Feld createn?
 
danke :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:28 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