Einzelnen Beitrag anzeigen

Tharon

Registriert seit: 19. Okt 2004
Ort: Frankfurt/Main
12 Beiträge
 
Delphi 2007 Professional
 
#29

Re: Procedure TForm.xyz in Unit

  Alt 30. Mär 2008, 19:37
@mkinzler:
Ich glaube, er meinte genau das, was ich beschrieben habe:

Zitat:
Hey, ich möchte mit eine Unit erstellen, in die ich alle möglichen Funktionen und Prozeduren packe. Diese Unit will ich dann unter uses eintragen, damit ich sie in meinen Projekten nutzen kann.
Eine partielle Klasse macht hier doch auch überhaupt keinen Sinn, denn das Endergebnis wäre ja genau eine Klasse, "xyz" wäre also eine Methode genau dieser einen Klasse - es soll aber doch eine allgemein verwendbare Prozedur sein. Mal abgesehen davon, dass das in Delphi sowieso nicht geht

Ein Problem kam nur dadurch zustande (und damit die ganze Diskussion), weil er fälschlicherweise (vielleicht auch nur versehentlich) "TForm1." vor den Prozedurnamen geschrieben hat - vielleicht weil er dachte, er könnte diese Prozedur sonst nicht in seinem Formular verwenden...

Falls Robby aber eigentlich die Basisklasse seiner Formulare erweitern wollte, dann muss er eine neue Klasse, die von TForm abgeleitet ist mit dieser Prozedur implementieren und seine Formulare dann von dieser neuen eigenen Basisklasse ableiten:

Delphi-Quellcode:

unit LibForm;

uses
  Forms;


type

TLibForm = class(TForm)
  ...
  procedure XYZ(a_sText: String);
  ...
end;


----------------------------------------

unit formMain;

uses
  LibForm;


type

TfrmMain = class(TLibForm)
  ...
end;

...


implementation


TfrmMain.XXXX;
begin
  ...
  XYZ('Ein Text');
  ...
end;
Aber wir sollten hier jetzt vielleicht nicht weiter darüber diskutieren, was Robby jetzt vielleicht tatsächlich gemeint haben könnte... das sollte er selbst am besten wissen und ich denke, er hat jetzt alle nötigen Infos
Thomas
  Mit Zitat antworten Zitat