Fórum Ajuda de como chamar DLL dinamicamente #236848

09/06/2004

0

Sera que alguem consegue chamar essa dll ai ? Eu fiz ´tudo certo´ mas deu erro alguem da um help ae !

------------------------------------------------------------------------
library ResolucaoDLL;

uses
// ShareMem,
SysUtils,
Windows,
Classes;

{$R *.res}

function TrocaResolucao(X, Y, a , b: word): Boolean; stdcall; export;
var lpDevMode: TDeviceMode;
begin
if EnumDisplaySettings(nil, 0, lpDevMode) then
begin
lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;
lpDevMode.dmPelsWidth := x; // aqui vc passa os parametros para a
lpDevMode.dmPelsHeight:= y; // da resolucao q vc qr Ex: 800x600
Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;
end;
end;

end.


Dalton

Dalton

Responder

Posts

09/06/2004

Cabelo

Cara não se eu entendi bem, mas para usar esta DLL, vc deve chamá-la da mesma forma que vc chama qualquer outra DLL, declarar esta função na UNIT que estiver usando dizendo que estaria usando de uma DLL..

assim :

interface

type

TrocaResolucao = function (X, Y, a , b: word): Boolean;

implementation

procedure TfrmMain.btTrocaResClick (Sender : Tobject);
var
Y, X, a, b : word;
Handle : THandle;
begin
Handle := LoadLibrary (‘ResolucaoDLL.dll’);
if Handle <> 0 then
begin
@TrocaResolucao := GetProcAddress (Handle, ‘TrocaResolucao’);
if @TrocaResolucao <> nil then
begin
result := TrocaResolucao(800, 600);
end;
FreeLibrary (Handle);
end;
end;

espero ter ajudado..

sem mais

Cabelo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar