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 dll Problem (https://www.delphipraxis.net/106485-dll-problem.html)

STS301 11. Jan 2008 15:33


dll Problem
 
Allmählich langt es mir mit den Fehlern, aber leider hat es den Anschein, dass mich die Bugs gerne haben und bei mir wohnen :( :(

Also

mache gerade das dll Tutorial in der dsdt und hänge, wenn ich die dll Datei mit einer Unit verbinden will.

wenn ich es in der VCL-Formularanwendung einfüge, dann sagt er mir:

[Fehler] Programm1.pas(5): E2070 Unbekannte Direktive: 'x'
[Fehler] Programm1.pas(11): E2003 Undefinierter Bezeichner: 'TForm'

x kann ich eigentlich nirgends definieren, damit er es erkennt.
er unterstreicht mir auch bei "TForm3 = class(TForm)" das (TForm).

"implementation" unterstreicht er mir auch, nur er nennt mir noch keinen Grund.

"I'm lost in Delphi!!"

DeddyH 11. Jan 2008 15:37

Re: dll Problem
 
Auf der verlinkten Seite kann ich kein TForm erkennen.

sirius 11. Jan 2008 15:38

Re: dll Problem
 
Was hast du denn wo gemacht. So kann ich schwer eine Aussage machen.

Wenn du natürlich in ein leeres Programm x:=addiere(4,5) ist mir klar, dass er x nicht kennt.

STS301 11. Jan 2008 15:41

Re: dll Problem
 
das ist mir ja auch klar, dass er kein x kennt, aber wo kann ich ihm sagen, was x ist ohne dass er mir es wieder als Fehler anrechnet.

hier der Code:
Delphi-Quellcode:
unit Programm1;

interface
function addiere(zahl1, zahl2: integer): integer; stdcall;
x:=addiere(12, 3);

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm3 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;
implementation

function addiere(zahl1, zahl2: integer): integer; stdcall;
external 'rechnenpro.dll';

{$R *.dfm}

end.

sirius 11. Jan 2008 15:44

Re: dll Problem
 
Das x:=addiere kommt ha jauch nicht dahin, sondern dort, wo du es brauchst. z.B. in einer Methode Button1Click, wo du dann x ausgibst (und als lokale Variable definiert hast; nur so als Beispiel).

DeddyH 11. Jan 2008 15:46

Re: dll Problem
 
Delphi-Quellcode:
unit Programm1;

interface
function addiere(zahl1, zahl2: integer): integer; stdcall;
//x:=addiere(12, 3); Quatsch! Das war doch nur Beispielcode für die Verwendung

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm3 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;
implementation

function addiere(zahl1, zahl2: integer): integer; stdcall;
external 'rechnenpro.dll';

{$R *.dfm}

end.

STS301 11. Jan 2008 15:50

Re: dll Problem
 
na gut, jetzt schreibt er mir

[Fehler] Programm1.pas(6): E2029 Deklaration erwartet, aber 'USES' gefunden

und unterstreicht mir uses, und Button1.click

sirius 11. Jan 2008 16:12

Re: dll Problem
 
nimm mal die deklaration von function oberhalb von uses raus.

STS301 11. Jan 2008 16:19

Re: dll Problem
 
:thumb:
zwischen den einzellnen Delphis gibt es leider immer wieder so kleine Bugs, aber danke an euch

STS301 11. Jan 2008 16:35

Re: dll Problem
 
habe das tutorial jetzt abgeschlossen, nur weiß ich ncht wie man zb. das Ergebnis ausgibt, mit label.caption wie üblich funktioniert es nicht ...


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