Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi selbsterstellte unit + aufruf einer procedure (https://www.delphipraxis.net/34939-selbsterstellte-unit-aufruf-einer-procedure.html)

bjacke 30. Nov 2004 13:45


selbsterstellte unit + aufruf einer procedure
 
Hi,
ich möchte eine unit mit procedure aufrufen, aber im Hauptformular finde ich nicht die möglichkeit zum Aufrufen.

mainform
Delphi-Quellcode:
uses option;
...
procedure TForm1.Combo1Change(Sender: TObject);
begin
option.???
end;
option
Delphi-Quellcode:
unit option;

interface

uses
MSXML2_TLB,windows,SysUtils;

type
  Toption = class
  procedure preference;
  private

  public
 
  end;

implementation
uses mainform;

procedure Toption.preference;
Var  pref,actual_pref:IXMLDOMnode; opt_path:string;
Begin
bla;
End;
end.
Edit: Ich kriege auch immer dieMeldung duplicated recources, bin schon am suchen ;-).

jim_raynor 30. Nov 2004 13:48

Re: selbsterstellte unit + aufruf einer procedure
 
Nun. Da musst du erstmal ein Objekt von TOption erstellen. Aber willst du das wirklich. Du kannst dir das ganze Objektkram sparen und einfach folgendes machen:

Delphi-Quellcode:
unit option;

interface

uses
MSXML2_TLB,windows,SysUtils;

  procedure preference;

implementation

uses mainform;

procedure preference;
Var  pref,actual_pref:IXMLDOMnode; opt_path:string;
Begin
  bla;
End;

end.
Wenn du es wirklich mit Objekt machen willst, musst du erstmal ein Objekt anlegen.

Delphi-Quellcode:
var
  Opt: TOption;
begin
  Opt:=TOption.Create;
  Opt.preference;
  .
  .
  // Objekt löschen
  Opt.Free;
end;

bttb930 30. Nov 2004 13:48

Re: selbsterstellte unit + aufruf einer procedure
 
die procedure ist keine procedure der unit option sondern eine der klasse toption.

du kannst sie entweder ohne das ganze class-gedöns in der unit option deklarieren oder mußt es ganz anders machen

Dax 30. Nov 2004 13:49

Re: selbsterstellte unit + aufruf einer procedure
 
Dazu musst du in deinem Code erst ein Objekt Toption erstellen. Dein Code müsste entsprechend so aussehen:
Delphi-Quellcode:
procedure TForm1.Combo1Change(Sender: TObject);
var options: Toption;
begin
  options := Toption.Create;
  options.preference;
end;
Ausserdem musst du deine Prozedur noch im public oder im published-Teil der Klasse deklarieren.

Tyrael Y. 30. Nov 2004 13:51

Re: selbsterstellte unit + aufruf einer procedure
 
Im Hauptform

Delphi-Quellcode:
uses option;
...
procedure TForm1.Combo1Change(Sender: TObject);
var myOption: TOption;
begin
  myOption := TOption.Create;
  try
    myOptiom.Preference(....);
  finally
    myOption.Free;
  end;
end;


im der Option unit

Delphi-Quellcode:
unit option;

interface

uses
MSXML2_TLB,windows,SysUtils;

type
  Toption = class
  private

  public
    procedure preference; //public damit du von "draussen" darauf zugreifen kannst
  end;

implementation
uses mainform;

procedure Toption.preference;
Var  pref,actual_pref:IXMLDOMnode; opt_path:string;
Begin
bla;
End;
end.

mfg


Edit: Bin zu langsam -.-


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