Вверх ↑
Ответов: 1061
Рейтинг: 22
#1: 2013-03-29 00:33:01 ЛС | профиль | цитата
Всем привет! Помогите с компиляцией IC. Вот схема:

code_30709.txt

В чём причина многочисленных ошибок? )))
------------ Дoбавленo в 00.20:
Исправил некоторые строки, но всё также не может идентифицировать длл:

Add(MainForm,2953706,119,266)
{
Width=407
Height=296
}
Add(Button,745319,203,266)
{
Left=35
Top=25
link(onClick,10869016:doFindName,[])
}
Add(Label,2213985,259,196)
{
Left=180
Top=95
Caption="notepad.exe"
}
Add(EnumProcess,10869016,252,245)
{
Point(Name)
Point(doFindName)
Point(onFind)
Point(onNotFind)
link(Name,2213985:Caption,[])
link(onFind,14371488:doWork,[(296,258)(296,304)(240,304)(240,349)])
}
Add(InlineCode,14371488,252,343)
{
WorkPoints=#6:doWork|
EventPoints=#7:onEvent|
DataPoints=#9:ProcessID|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|30:uses kol,Share,Debug,TlHelp32;|0:|4:type|0:|27: THIFrzProc = class(TDebug)|3: |10: private|0:|9: public|3: |24: ProcessID: THI_Event;|23: onEvent: THI_Event; |3: |49: procedure doWork(var _Data:TData; Index:Word);|3: |5: end;|5: |129: function OpenThread(dwDesiredAccess: DWORD; bInheritHandle: BOOL; dwThreadId: DWORD): THandle; stdcall; external 'kernel32';|5: |48: function FreezProcess(ProcessID: Cardinal);|11: var|30: hSnapshot: THandle;|30: te: TThreadEntry32;|23: Th: THandle;|13: begin|78: hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD,ProcessID);|43: if Thread32First(hSnapshot,te) then|14: repeat|72: Th:=OpenThread(THREAD_PRIORITY_NORMAL,false,te.th32ThreadID);|29: SuspendThread(Th);|27: CloseHandle(Th);|45: until not Thread32Next(hSnapshot,te);|31: CloseHandle(hSnapshot);|9: end;|0:|14:implementation|0:|32: procedure THIFrzProc.doWork;|12: begin|34: FreezProcess(ProcessID);|35: _hi_OnEvent(onEvent,'1');|11: end;|0:|4:end.|
link(ProcessID,10869016:CurrentID,[])
}
------------ Дoбавленo в 00.33:
ещё немного исправил, уже меньше ошибок, но длл по прежнему не определяет:

Add(MainForm,2953706,119,266)
{
Width=407
Height=296
}
Add(Button,745319,203,266)
{
Left=35
Top=25
link(onClick,10869016:doFindName,[])
}
Add(Label,2213985,259,196)
{
Left=180
Top=95
Caption="notepad.exe"
}
Add(EnumProcess,10869016,252,245)
{
Point(Name)
Point(doFindName)
Point(onFind)
Point(onNotFind)
link(Name,2213985:Caption,[])
link(onFind,14371488:doWork,[(296,258)(296,304)(240,304)(240,349)])
}
Add(InlineCode,14371488,252,343)
{
WorkPoints=#6:doWork|
EventPoints=#7:onEvent|
DataPoints=#9:ProcessID|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|30:uses kol,Share,Debug,TlHelp32;|0:|4:type|0:|27: THIFrzProc = class(TDebug)|3: |10: private|0:|9: public|3: |24: ProcessID: THI_Event;|23: onEvent: THI_Event; |3: |49: procedure doWork(var _Data:TData; Index:Word);|3: |5: end;|5: |129: function OpenThread(dwDesiredAccess: DWORD; bInheritHandle: BOOL; dwThreadId: DWORD): THandle; stdcall; external 'kernel32';|5: |0:|14:implementation|0:|32: procedure THIFrzProc.doWork;|12: begin|34: FreezProcess(ProcessID);|35: _hi_OnEvent(onEvent,'1');|11: end;|0:|47: procedure FreezProcess(ProcessID: Cardinal);|11: var|30: hSnapshot: THandle;|30: te: TThreadEntry32;|23: Th: THandle;|13: begin|78: hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD,ProcessID);|43: if Thread32First(hSnapshot,te) then|14: repeat|72: Th:=OpenThread(THREAD_PRIORITY_NORMAL,false,te.th32ThreadID);|29: SuspendThread(Th);|27: CloseHandle(Th);|45: until not Thread32Next(hSnapshot,te);|31: CloseHandle(hSnapshot);|7: end;|4:end.|
link(ProcessID,10869016:CurrentID,[])
}
карма: 0

0
файлы: 1code_30709.txt [1.7KB] [365]