Вверх ↑
Ответов: 1841
Рейтинг: 363
#1: 2012-11-03 15:17:49 ЛС | профиль | цитата
Пытался прикрутить свою dll, но после объявления второй процедуры, компилятор отказывается компилировать аргументируя этим:
Error: Unsatisfied forward or external declaration: 'ThiInlineCode_288DD20.doGetProcessPID'
Хотя если убрать одну из процедур, с оставшейся процедурой компиляция проходит успешно
С чем это может быть связано?
iC

Add(InlineCode,12020246,70,112)
{
WorkPoints=#19:doEnableDebugPrivNT|15:doGetProcessPID|
EventPoints=#19:onEnableDebugPrivNT|15:onGetProcessPID|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses Kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|36: onEnableDebugPrivNT: THI_Event;|32: onGetProcessPID: THI_Event;|5: |59: Procedure doEnableDebugPrivNT(var dt:TData; idx:Word);|55: Procedure doGetProcessPID(var dt:TData; idx:Word);|7: end;|0:|87: //================Устанавливаем нашему процессу привелегии отладчика================ |93: function EnableDebugPrivNT(aPrivilegeName: string): integer; stdcall; external 'crack.dll';|86: function GH_GetProcessPID(ProcName: string): integer; stdcall; external 'crack.dll';|0:|14:implementation|0:|84://================Устанавливаем нашему процессу привелегии отладчика================|42:Procedure THiAsmClass.doEnableDebugPrivNT;|22: var Result: integer;|7: begin|52: Result := EnableDebugPrivNT('SeDebugPrivilege');|45: _hi_OnEvent(onEnableDebugPrivNT, Result);|6: end;|4:end.|0:|38:Procedure THiAsmClass.doGetProcessPID;|22: var Result: integer;|7: begin|43: Result := GH_GetProcessPID('aion.bin');|41: _hi_OnEvent(onGetProcessPID, Result);|6: end;|4:end.|
}
Код

unit HiAsmUnit;

interface

uses Kol,Share,Debug;

type
THiAsmClass = class(TDebug)
private

public
onEnableDebugPrivNT: THI_Event;
onGetProcessPID: THI_Event;

Procedure doEnableDebugPrivNT(var dt:TData; idx:Word);
Procedure doGetProcessPID(var dt:TData; idx:Word);
end;

//================Устанавливаем нашему процессу привелегии отладчика================
function EnableDebugPrivNT(aPrivilegeName: string): integer; stdcall; external 'crack.dll';
function GH_GetProcessPID(ProcName: string): integer; stdcall; external 'crack.dll';

implementation

//================Устанавливаем нашему процессу привелегии отладчика================
Procedure THiAsmClass.doEnableDebugPrivNT;
var Result: integer;
begin
Result := EnableDebugPrivNT('SeDebugPrivilege');
_hi_OnEvent(onEnableDebugPrivNT, Result);
end;
end.

Procedure THiAsmClass.doGetProcessPID;
var Result: integer;
begin
Result := GH_GetProcessPID('aion.bin');
_hi_OnEvent(onGetProcessPID, Result);
end;
end.
//Компилятор - Delphi 4
карма: 1
0