Procka z DLLa

0

Mam sobie już zrobioną proceduręw bibliotece DLL i ją eksportuję :

exports
  MojaProcedurka;

Ta procedura wymaga niestety parametrów, których kompilator nie pozwala mi umieścić w exports, a także w programie, który używa jej nie mogę zdeklarować parametrów... Jak mogę to zrobić( chodzi mi o dynamiczne importowanie...)

0

LoadLibrary + GetProcAddress. Gdzieś już było.
//aaa, sorx, popatrzyłem do ostatnich postów i widze że nie o to ci chodzi..
A tak do tematu: zawsze możesz jako parametr podawać tylko wskaźnik do jakichś danych...

0

Pierwszy problem rozwiązałem... po prostu w Var dałem zamiast procedure:

Procka : procedure (Kolor : TColor)

Nieesety wyskakują jakieś dzikie blędy... Co mogę na to poradzić?

0
//dll -ka
uses
  SysUtils,
  Classes, graphics;
//moduł graphics!! [diabel] 
{$R *.res}
 procedure procka(k:tcolor);
 begin
 end;

 exports
 procka name 'kolorek';//teraz już jest kolorek
begin
end.
//wykorzystanie

procedure kolorek(k:tcolor); external 'biblioteka.dll';

//a potem już tylko kolorek(clred);
 
0
//dll -ka
uses
  SysUtils,
  Classes, graphics;
//moduł graphics!! [diabel] 
{$R *.res}
 procedure procka(k:tcolor);
 begin
 end;

 exports
 procka name 'kolorek';//teraz już jest kolorek
begin
end.
//wykorzystanie

procedure kolorek(k:tcolor); external 'biblioteka.dll';

//a potem już tylko kolorek(clred);
 

Coś mi sie wydaje, że nie czytałeś :/ Mi chodziło o dynamiczne importowanie [krzyk]

0

To pozostaje ci tylko typ proceduralny.

var
zmienna:procedure(param1:integer; param2:pchar);

I teraz dajesz:

zmienna:=getprocaddress(...);
zmienna(12, '/\/\/');

// Dopisane
Musi działać. Pokaż ten swój kod.

0

to już wcześniej próbowałem... Za nic nie chce zadziałać :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1