AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Create probleme

Ein Thema von day · begonnen am 8. Sep 2004 · letzter Beitrag vom 8. Sep 2004
Antwort Antwort
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#1

Create probleme

  Alt 8. Sep 2004, 14:12
Hallo

Ich bekomme folgende fehlermeldung:
This form of method call only allowed for class methods

wieso geht das nicht?

Code:
uses
  Windows,
  ClientMain,
  StdCtrls;

type
  TMainFrame = class(TForm)
    procedure FormCreate(Sender: TObject);

  private
    mClientMain   : TClientUnit;
    mTemp         : TObject;
  public
  end;

var
  MainFrame: TMainFrame;

implementation

uses GuiController;

var mController :TGuiController;

{$R *.DFM}






procedure TMainFrame.FormCreate(Sender: TObject);
begin
  mTemp := TGuiController.Create(self); //hier tritt der fehler auf
  mController := TGuiController(mTemp);
end;

end.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Create probleme

  Alt 8. Sep 2004, 14:14
Wenn fTemp auch als TGUIController deklarierst, MUSS es gehen.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

Re: Create probleme

  Alt 8. Sep 2004, 14:22
Wie wärs damit ?
Delphi-Quellcode:
procedure TMainFrame.FormCreate(Sender: TObject);
var
 mTemp, mController: TGuiController;
begin
  mTemp := TGuiController.Create(self); //hier tritt der fehler auf
  mController := TGuiController.Create(mTemp);
end;
Statt self (bzw. mTemp) im Create kannste auch mal nil probieren
  Mit Zitat antworten Zitat
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#4

Re: Create probleme

  Alt 8. Sep 2004, 14:35
TGuiControl ist eine klasse die ich selbst geschrieben habe und die create methode braucht einen übergabe parameter (nil geht nicht).

mTemp kann ich nicht als TGuiController deklarieren, da diese Klasse zu dem Zeitpunkt noch nicht bekannt ist.

Ich verstehe die Fehlermeldung nicht ganz?
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Create probleme

  Alt 8. Sep 2004, 14:41
Zitat von day:
TGuiControl ist eine klasse die ich selbst geschrieben habe und die create methode braucht einen übergabe parameter (nil geht nicht).

mTemp kann ich nicht als TGuiController deklarieren, da diese Klasse zu dem Zeitpunkt noch nicht bekannt ist.

Ich verstehe die Fehlermeldung nicht ganz?
Was bekommst du für eine Fehlermeldung ?

Beim Compilieren oder zur Laufzeit ?

Ups ... gerade gesehen, das die Fehlermeldung eh oben steht ....

Kannst due den Create Teile (deklaration) deiner Klasse posten ?
  Mit Zitat antworten Zitat
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#6

Re: Create probleme

  Alt 8. Sep 2004, 14:46
Hallo

Ich konnte den Fehler eingrenzen. Es liegt am Konstruktor meiner TGuiControll klasse. und zwar wenn ich keinen Konstruktor habe dann funktioniert es und wenn ich einen eigenen habe dann geht es nicht.
wie muss ich den konstruktor definieren damit es geht?


Code:
unit GuiController;

interface

uses CommandHandler,
     OffertInformationContainer,
     Command;


type
  TGuiController = class(TObject)

  private
    mCommandHandler : TCommandHandler;
    mOffertInfoContainer : TInfoContainer;

  public
    procedure create();
    procedure ActivateNewOffertView(NewOffertFrame: TNewOffertFrame);


  end;

implementation


 
  procedure TGuiController.create();
  begin
    mCommandHandler     := TCommandHandler.Create();
    mOffertInfoContainer := TInfoContainer.Create();
  end;

 
  procedure TGuiController.ActivateNewOffertView(NewOffertFrame: TNewOffertFrame);
  begin


  end;
end.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Create probleme

  Alt 8. Sep 2004, 14:48
Wenn create der Konstruktor sein soll, wovon ich ausgehe, dann muss dieser auch als solcher mittels dem Schlüsselwort constructor deklariert werden und nicht mit procedure.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Create probleme

  Alt 8. Sep 2004, 14:48
Zitat von day:
Hallo

Ich konnte den Fehler eingrenzen. Es liegt am Konstruktor meiner TGuiControll klasse. und zwar wenn ich keinen Konstruktor habe dann funktioniert es und wenn ich einen eigenen habe dann geht es nicht.
wie muss ich den konstruktor definieren damit es geht?


Code:
unit GuiController;

interface

uses CommandHandler,
     OffertInformationContainer,
     Command;


type
  TGuiController = class(TObject)

  private
    mCommandHandler : TCommandHandler;
    mOffertInfoContainer : TInfoContainer;

  public
    procedure create();
    procedure ActivateNewOffertView(NewOffertFrame: TNewOffertFrame);


  end;

implementation


 
  procedure TGuiController.create();
  begin
    mCommandHandler     := TCommandHandler.Create();
    mOffertInfoContainer := TInfoContainer.Create();
  end;

 
  procedure TGuiController.ActivateNewOffertView(NewOffertFrame: TNewOffertFrame);
  begin


  end;
end.
der Konstruktor muss auch als Konstruktor definiert werden !

Delphi-Quellcode:
 public
    constructor create();
Gruss Hans
  Mit Zitat antworten Zitat
Benutzerbild von Spezi1980
Spezi1980

Registriert seit: 11. Aug 2003
Ort: Dresden OT Cossebaude
71 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Create probleme

  Alt 8. Sep 2004, 14:52
Ich persöhnlich würde zur Sicherheit auch noch ein inherited im Constructor aufrufen.
Delphi-Quellcode:
constructor TGuiController.create();
  begin
    inherited Create;
    mCommandHandler := TCommandHandler.Create();
    mOffertInfoContainer := TInfoContainer.Create();
  end;
Robert
Codito, ergo sum.
>>I code, therefore I am<<
  Mit Zitat antworten Zitat
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#10

Re: Create probleme

  Alt 8. Sep 2004, 15:01
Hallo

Ich brauche dringend eine Pause. Habe ich voll übersehen.

Danke für die Hilfe.
  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 18:56 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