http://4programmers.net/view_faq.html?id=127
Hmm jak zrobić aby kod
function RegisterServiceProcess(dwProcessId,dwType:dword):
Integer;stdcall;external 'kernel32.dll'
na innych windowsach niz 9x sie nie wykonywał ?? Adam napisał coś o dynamicznym ładowaniu kernel32.dll ale jak to zrobić ? z góry dzieki za pomoc
0
0
Tu masz kod dynamicznego wywoływania procedury z biblioteki - kilka przeróbek i bedzie ci działało.
procedure TMainForm.DynamicLoadBtnClick(Sender: TObject);
type
TSayHello = procedure(AForm : TForm);
var
DLLInstance : THandle;
SayHello : TSayHello;
begin
{ Load the DLL. }
DLLInstance := LoadLibrary('DynLoad.dll');
{ If loading fails then bail out. }
if DLLInstance = 0 then begin
MessageDlg('Unable to load DLL.', mtError, [mbOK], 0);
Exit;
end;
{ Assign the procedure pointer. }
@SayHello := GetProcAddress(DLLInstance, 'SayHelloDyn');
{ If the procedure was found then call it. }
if @SayHello <> nil then
SayHello(Self)
else
MessageDlg('Unable to locate procedure.', mtError, [mbOK], 0);
{ Unload the DLL. }
FreeLibrary(DLLInstance);
end;
0
Dzieki bardzo juz wszystko dziala !! THX
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.