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.
------------------------------------------------------------------------
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
Curtir tópico
+ 0
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
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
Clique aqui para fazer login e interagir na Comunidade :)