AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi dll: procedure zur laufzeit einbinden
Thema durchsuchen
Ansicht
Themen-Optionen

dll: procedure zur laufzeit einbinden

Ein Thema von Dr.No · begonnen am 24. Mär 2006 · letzter Beitrag vom 26. Mär 2006
 
Dr.No

Registriert seit: 18. Mär 2005
38 Beiträge
 
#1

dll: procedure zur laufzeit einbinden

  Alt 24. Mär 2006, 14:21
Also entweder bin ich doof oder, des stimmt einfach net:
Ich hab da schon in den tut nachgeschaut mit dan dlls, da steht ja drinn wie ich dlls zur laufzeit einbinde, aber bei mir tut des net!

bei den siht des so aus:

Delphi-Quellcode:
 
unit Unit1;

interface

uses windows;

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

implementation

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

end.
also des tat schonmal bei mir nich,
und wie soll des bei proceduren ausschauen?
wenn ich des am anfang lad tut bei mir die dll aber so halt net, und es isch dringend erforderlich das des dynamisch geladen wird!

also bei mir siht das so aus:
Delphi-Quellcode:
type
  Tinitform = function(owns:tcomponent;a:TwinControl):boolean; stdcall;
  function addieren(owns:tcomponent;a:TwinControl):boolean;

...

implementation

...
function addieren(owns:tcomponent;a:TwinControl):boolean;
var initform: Tinitform;
    Handle1: THandle;
begin
  Handle1:=LoadLibrary(PChar('./dlls\formcreate.dll'));
  if Handle1 <> 0 then begin
    @initform := GetProcAddress(Handle1, 'initform');
    if @initform <> nil then begin
    showmessage('c');
      result:=initform(owns,a);
    end;
    FreeLibrary(Handle1);
  end;
end;
wo bei die dll soaus siht:

Delphi-Quellcode:


...

var myform1:tform1;

function Initform(owns:tcomponent;a:TwinControl):boolean; stdcall;
begin

form1:=tform1.Create(application);
form1.Visible:=true;

result:=true;

end;

exports
  initform;

begin
end.

also ich bin da echt zu blöd des selbst hin zu bekommen,
wie gesgt wenn ihs am anfang ein binde tuts!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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