|
#1
|
|||
|
|||
Dll
Здравствуйте! Как получить вывод из Dll в Edit ?
Код:
library dll; uses SysUtils, dialogs, Classes; {$R *.res} procedure mas;stdcall; export; var pin :array [1..15] of integer; i : integer; st: string; begin randomize ; st:=''; for i:= 1 to 15 do pin[i]:= random(10); for i:= 1 to 15 do st:= st + inttostr(pin[i]); end; exports mas; begin end. Последний раз редактировалось Admin, 25.08.2015 в 20:49. |
#2
|
|||
|
|||
сделай свою процедуру функцией и возвращай результат из нее. Ну а в вызывающем коде просто пишешь присваивание.
Код:
function mas : string;stdcall; export; var pin :array [1..15] of integer; i : integer; st: string; begin randomize ; st:=''; for i:= 1 to 15 do pin[i]:= random(10); for i:= 1 to 15 do st:= st + inttostr(pin[i]); result := st; end; exports mas; |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
leroisss (26.08.2015)
|
#3
|
||||
|
||||
при использовании WideString вместо AnsiString, ShareMem не нужен.
http://delphist.ru/widestring-dll/ Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
leroisss (26.08.2015)
|
#4
|
||||
|
||||
Это ведь всё о статической загрузке, в смысле библиотека подключена всегда во время исполнения, вот ещё вариант с динамической (подгружаемой dll по мере необходимости), кстати, используется строковый тип ShortString, тоже без манагера мемори, как и завещали в комменте робяты из Борланда
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
leroisss (27.08.2015)
|