Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Verwendung einer Procedure in einer anderen Unit (https://www.delphipraxis.net/120639-verwendung-einer-procedure-einer-anderen-unit.html)

chrio89 14. Sep 2008 09:13


Verwendung einer Procedure in einer anderen Unit
 
Hi

ich möchte eine Prozedur(keine Parameter) in einer anderen Unit aufrufen.
Hab das schon so gemacht wie es auf anderen Seiten beschrieben ist, nur leider bekomme ich immer die Fehlermeldung
Undefinierter Bezeichner: 'Funktionsberechnung'

Kann mir jemand sagen, warum dieser Fehler auftritt und am Besten nochmal genau schreiben, wie ich die Unit einbinden und die Prozedur deklarieren muss, damit die andere Unit sie erkennt


thx

mkinzler 14. Sep 2008 09:20

Re: Verwendung einer Procedure in einer anderen Unit
 
In der anderen Unit einfach
Delphi-Quellcode:
Uses ...<dekarierende Unit>, ...;
Die Prozedur muss aber im Interface der deklarienden Unit deklariert sein

chrio89 14. Sep 2008 09:49

Re: Verwendung einer Procedure in einer anderen Unit
 
hm das hab ich doch eigentlich gemacht oder? Also ich liefere Euch hier mal Quelltextausschnitte:

Unit1 erthält die Prozedur, Unit3 soll die Prozedur Funktionsbrechnung aufrufen



Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, XPMan,ComCtrls,JPEG, Unit2;

[...]
   

    private
    { Private-Deklarationen }


  public
    { Public-Deklarationen }
    procedure Funktionsberechnung();
    end;

implementation
 
{$R *.dfm}

procedure Funktionsberechnung;
begin
ShowMessage('test');
end;

Delphi-Quellcode:
unit Unit3;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  Buttons, ExtCtrls, Unit1;

type
  TOKBottomDlg = class(TForm)
    OKBtn: TButton;
    CancelBtn: TButton;
    Bevel1: TBevel;
    Label1: TLabel;
    procedure OKBtnClick(Sender: TObject);
    procedure CancelBtnClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  OKBottomDlg: TOKBottomDlg;

implementation

{$R *.dfm}


procedure TOKBottomDlg.CancelBtnClick(Sender: TObject);
begin
status:=0;
Funktionsberechnung();
close();
end;

(Korrekturen erwünscht)

mkinzler 14. Sep 2008 09:52

Re: Verwendung einer Procedure in einer anderen Unit
 
Es scheint sich um eine Methode und keine Prozedur zu handeln. Dann musst du natürlich eine Instanz der Klasse erzeugen.

chrio89 14. Sep 2008 09:57

Re: Verwendung einer Procedure in einer anderen Unit
 
Zitat:

Zitat von mkinzler
Es scheint sich um eine Methode und keine Prozedur zu handeln. Dann musst du natürlich eine Instanz der Klasse erzeugen.


und wie kann ich dann dafür sorgen dass es ne Prozedur wird? mit Instanzen kenn ich mich nich so aus :D

DeddyH 14. Sep 2008 10:00

Re: Verwendung einer Procedure in einer anderen Unit
 
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, XPMan,ComCtrls,JPEG, Unit2;

[...]
   

    private
    { Private-Deklarationen }


  public
    { Public-Deklarationen }   
    end;

procedure Funktionsberechnung(); //hier hin

implementation

{$R *.dfm}

procedure Funktionsberechnung;
begin
ShowMessage('test');
end;

chrio89 14. Sep 2008 12:36

Re: Verwendung einer Procedure in einer anderen Unit
 
thx es funktioniert :-D

mkinzler 14. Sep 2008 18:40

Re: Verwendung einer Procedure in einer anderen Unit
 
Unabhängig solltest du dir aber die Grundlagen der OOP und von Delphi geanuer anzusehen

chrio89 14. Sep 2008 18:54

Re: Verwendung einer Procedure in einer anderen Unit
 
Zitat:

Zitat von mkinzler
Unabhängig solltest du dir aber die Grundlagen der OOP und von Delphi geanuer anzusehen

Ich hab durchaus schon damit gearbeitet aber was man nich nutzt, vergisst man :wink:

mkinzler 14. Sep 2008 18:56

Re: Verwendung einer Procedure in einer anderen Unit
 
Wie programmiert man in Delphi ohne OOP?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 Uhr.
Seite 1 von 2  1 2      

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