Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi dll Funktion, die objekt zurückliefert, dynamisch einbinden (https://www.delphipraxis.net/33603-dll-funktion-die-objekt-zurueckliefert-dynamisch-einbinden.html)

maximus Caesar 9. Nov 2004 19:05


dll Funktion, die objekt zurückliefert, dynamisch einbinden
 
Hallo!
Wie kann mann die Funktion einer dll dynamisch einbinden, die ein Objekt benötigt und zurückliefert?
(Beide Objekte mit OOP geschrieben!)

SirThornberry 9. Nov 2004 19:06

Re: dll Funktion, die objekt zurückliefert, dynamisch einbin
 
ganz genau so wie man jede andere Funktion aus DLL's auch dynamich einbindet. Schau dir dazu einfach mal das Tutoral auf www.delphi-source.de an

maximus Caesar 9. Nov 2004 19:08

Re: dll Funktion, die objekt zurückliefert, dynamisch einbin
 
Kann mir jemand ein Beispiel schreiben?
habs schon probiert, gibt aber immer wieder Fehlermeldungen, und in Tutorials und der DP hab ich noch keine Lösung gefunden!

PS: Das Objekt ist in einer extra Unit geschrieben!

SirThornberry 9. Nov 2004 19:20

Re: dll Funktion, die objekt zurückliefert, dynamisch einbin
 
bei welcher anweisung genau kommt der Fehler? Wenn du zwischen Programm und DLL mit Strings hantierst darfst du NICHT vergessen die sharemem einzubinden.. Hast du das dynamiche einbinden bereits mit einer funktion die nicht mit objecten arbeitet erfolgreich geschafft? Poste mal wie du die funktion bisher dynamich einbindest und aufrufst

maximus Caesar 9. Nov 2004 19:26

Re: dll Funktion, die objekt zurückliefert, dynamisch einbin
 
Bei der deklaration der funktion unter type wird gemeldet, das das angegebene Objekt nicht erkannt wird. Ohne Objekt und mit ner Procedure hats schon hingehauen, mit der Funktion müsste es auchgehen, wenn es das Objekt erkennen würde. Muss ich etwa ganz am Anfang unter Uses die Unit, in der das Objekt ist einbinden?

maximus Caesar 9. Nov 2004 19:32

Re: dll Funktion, die objekt zurückliefert, dynamisch einbin
 
ok, habs raus: Die extra Unit muss ganz oben unter Uses angegeben werden:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TestUnit; //hier wird die extra Unit angegeben

type
  TShellexecute = function:TTestObjekt; stdcall; // hier die Funktion mit dem Objekt
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure calldll;
    procedure Button2Click(Sender: TObject);
  private


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:13 Uhr.

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