Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi include in Schleife benutzen (https://www.delphipraxis.net/91810-include-schleife-benutzen.html)

mkinzler 11. Mai 2007 19:28

Re: include in Schleife benutzen
 
Lese dir das Tutorial nocheinmal richtig durch

Blumi 11. Mai 2007 19:46

Re: include in Schleife benutzen
 
Zitat:

Zitat von mkinzler
Lese dir das Tutorial nocheinmal richtig durch

Hab ich genau so gemacht.

Ich habe bei der Exe jetzt noch ein Button mit Code hinzugefügt:

Delphi-Quellcode:

unit Unit1;

interface

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

type
TSummenFunktion = function(zahl1, zahl2: integer): integer;
function addieren(zahl1, zahl2: integer): integer;


type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function addieren(zahl1, zahl2: integer): integer;
var SummenFunktion: TSummenFunktion;
Handle: THandle;
begin
Handle := LoadLibrary(PChar('rechnen.dll'));
if Handle <> 0 then begin
@SummenFunktion := GetProcAddress(Handle, 'addieren');
if @SummenFunktion <> nil then begin
result := addieren(12,3);
end;
FreeLibrary(Handle);
end;
end;



procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(IntToStr(addieren(12,3)));
end;

end.
Ich kann es jetzt zwar starten ohne Fehler, aber ich weiss zwar nicht was er falsch macht aber bekommt 1242648, wenn ich das im Kopf rechne ;) bekomme ich 15 oder :=

lg

Khabarakh 11. Mai 2007 19:54

Re: include in Schleife benutzen
 
Beim eigenmächtigen Ändern von Tutorial-Code verfällt die Richtigkeitsgarantie, das ist dir hoffentlich bewusst :zwinker: . Vergleiche mal Zeile 39 deines Codes mit dem Original.

Blumi 11. Mai 2007 19:59

Re: include in Schleife benutzen
 
Zitat:

Zitat von Khabarakh
Beim eigenmächtigen Ändern von Tutorial-Code verfällt die Richtigkeitsgarantie, das ist dir hoffentlich bewusst :zwinker: . Vergleiche mal Zeile 39 deines Codes mit dem Original.

Ja dort steht addiere anstatt addieren aber wenn ich das nicht in addieren bewusst ändere findet er die Funktion nicht...

Khabarakh 11. Mai 2007 20:01

Re: include in Schleife benutzen
 
Zitat:

Zitat von Blumi
Ja dort steht addiere anstatt addieren[...]

Nein, steht da nicht :gruebel: ... Also bitte noch einmal Zeile 39 vergleichen :stupid: .

PS: Falls du in der IDE eine andere Zeilenzählung als ich hier im Forum sehen solltest oder es sonstige Kommunikationsprobleme zwischen uns geben sollte ;), Zeile 39 ist
Delphi-Quellcode:
result := addieren(12,3);
So erzeugst du eine Rekursion.

Blumi 11. Mai 2007 20:55

Re: include in Schleife benutzen
 
Zitat:

Zitat von Khabarakh
Zitat:

Zitat von Blumi
Ja dort steht addiere anstatt addieren[...]

Nein, steht da nicht :gruebel: ... Also bitte noch einmal Zeile 39 vergleichen :stupid: .

PS: Falls du in der IDE eine andere Zeilenzählung als ich hier im Forum sehen solltest oder es sonstige Kommunikationsprobleme zwischen uns geben sollte ;), Zeile 39 ist
Delphi-Quellcode:
result := addieren(12,3);
So erzeugst du eine Rekursion.

Tut mir leid, ich verstehe jetzt nicht genau was du mir damit sagen möchtest.
Aber eigentlich wollte ich ja nur wissen wie man eine dll Datei einbindet damit es au funktioniert. Ich wollte eigentlich nur dass das Beispiel auch funktioniert. Hat es aber leider nicht, denn wenn da addiere stehen würde klappt es nicht und wenn addieren steht kommt eine grosse Zahl heraus.

Ich danke dir aber trotzdem und hoffe das es bei meinem richtigen Projekt wo ich es jetzt mit der dll versuchen möchte auch klappt.

mkinzler 11. Mai 2007 20:59

Re: include in Schleife benutzen
 
Delphi-Quellcode:
result := addieren(12,3);
ruft nicht die Funktion in der dll auf, sondern sich selbst.

Im Beispiel steht
Delphi-Quellcode:
result:=SummenFunktion(zahl1, zahl2);


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:12 Uhr.
Seite 2 von 2     12   

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