Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#10

Re: Code in andere Unit auslagern

  Alt 3. Nov 2005, 15:01
Zitat von Jerry:
sorry ist eben etwas umständlich das ganze zu beschreiben...

FormularName ist eine Variable vom Typ TForm. In dieser Variable wird eine Unit mitgegeben.

Also in FormularName ist die Unit1 drin.
Du kannst einer Objektvariable keine Unit zuweisen. Ich gehe einfach mal davon aus, dass du die zur Unit gehörende Form meinst. Dann sollte es so aussehen:
Delphi-Quellcode:
procedure SetTabStops(AForm: TForm);
var
  Compo: TComponent;
begin
   Compo:= AForm.FindComponent('edit1');
   if compo<> nil
   then
   begin
    TWinControl(Compo).TabStop := False;
   end;
end;
Der Aufruf sieht dann so aus:
Delphi-Quellcode:
var
  Formularname: TForm // Das "-name" passt nicht wirklich
begin
  Formularname := Form1;
  SetTabStops(Formularname);
Aber wie gesagt, die Funktion macht als Methode von TForm1 mehr Sinn:
Delphi-Quellcode:
type
  TForm1 = class[...]
  public
    procedure SetTabStops;

[...]

procedure TForm1.SetTabStops;
var
  Compo: TComponent;
begin
   Compo:= FindComponent('edit1');
   if compo<> nil
   then
   begin
    TWinControl(Compo).TabStop := False;
   end;
  // oder eben gleich Edit1.TabStop := false;
end;

[...]

procedure TForm314.DoSomething;
begin
  Form1.SetTabStops;
end;
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat