А что в IC?
Я написал "первое" в PAS, а второе в IC. Но функция не заходит в DLL а просто возвращает обратно тоже, что я в нее бросаю.
PAS:
#pas
unit FirstLib;
interface
uses Kol,Share,Win,Windows,Debug,Messages;
function ReceiveString(p:pchar):PChar; stdcall; export;
implementation
var buf:string;
function ReceiveString(p:pchar):PChar; stdcall; export;
begin
buf := 'Receive text: ' + p + #0;
Result := PChar(buf);
end;
end.
В IC:
Add(MainForm,2953706,21,105)
{
}
Add(Button,8818931,168,119)
{
Left=125
Top=105
Data=Integer(5)
link(onClick,11718020:do_inputString,[])
}
Add(Label,1201926,287,119)
{
Left=200
Top=110
}
Add(InlineCode,11718020,224,119)
{
WorkPoints=#14:do_inputString|
EventPoints=#14:on_inputString|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|38:uses kol,Share,Debug,FirstLib,windows;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|28: on_inputString:THI_Event;|57: procedure do_inputString(var _Data:TData; Index:word);|3: |5: end;|0:|14:implementation|0:|37:procedure THiAsmClass.do_inputString;|13:var s:string;|5:begin|33:s := ReceiveString('Мой текст!');|13:// use s here|29:_hi_onEvent(on_inputString,s)|4:end;|0:|4:end.|
link(on_inputString,1201926:doText,[])
}