Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.02;
Скачать: CL | DM;

Вниз

Работа с PChar в DLL   Найти похожие ветки 

 
nikolo ©   (2002-08-20 11:06) [0]

Всем привет! Кто может на примере показать как реализовать такую функцию в dll? Проблема в том, что делать Result := PChar(S); на нельзя, так как же выкрутиться? Ребята, очень надо...

{Функция в dll}
Function FFF(pParam: PChar): PChar;
Var
S: String;
Begin
S := StrPas(pParam);
.....
действия с S
.....
Result := PChar(S); // это не правильно, а как надо?
End;

{В основной программе}
procedure TForm1.Button1Click(Sender: TObject);
Var SS: String;
Begin
SS := "Hello world!";
Label1.Caption := FFF(PChar(SS));
end;


 
Ученик ©   (2002-08-20 11:09) [1]

Function FFF(pParam: PChar): PChar;
const
S: String = "";


 
nikolo ©   (2002-08-20 11:15) [2]

Не понял! Можно подробнее?


 
Skier ©   (2002-08-20 11:32) [3]

>nikolo
Напиши подробно :
- как экспортируешь функцию из DLL
- как описываешь её в host-приложении
- используешь ли явную загрузку библиотеки ?
если да, то как ты её грузишь...


 
nikolo ©   (2002-08-20 11:43) [4]

Help!!!


 
nikolo ©   (2002-08-20 12:02) [5]

> Skier ©, вообще-то не понятно, зачем такие подробности, но если надо, то:
-Экспортирую:
Function FFF(pParam: PChar): PChar; stdcall; external "my_lib.dll" name "FFF";
-Описываю в host-приложении:
Label1.Caption := FFF(PChar(SS));
-Библиотеку гружу явно.


 
Skier ©   (2002-08-20 12:08) [6]

>nikolo

Либо это полный бред, либо ты путаешь понятия !

В общем так : давай код полностью !




 
Юрий Федоров ©   (2002-08-20 12:21) [7]

Function FFF(pParam: PChar; ParamSize : Integer) : PChar;
Var
S: String;
begin
...
Result:=StrPLCopy(pParam, s, ParamSize);
end;


 
EVV   (2002-08-20 12:46) [8]

Возможно дело в том, что выделение памяти для строки происходит в DLL.

Передай в DLL ссылку на переменную PChar, под которую выделишь память в программе.

Все это из-за менеджера памяти.



Страницы: 1 вся ветка

Текущий архив: 2002.09.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
8-3529
DmitryM
2002-04-23 15:46
2002.09.02
ico в bmp


1-3328
Денис М Радченко
2002-08-20 16:55
2002.09.02
Поиск по файлам


3-3308
koks
2002-08-08 17:09
2002.09.02
подскажите ламеру в IB6 :))


7-3648
DeMoN-777
2002-06-18 14:13
2002.09.02
Ждущий режим в WinNT 2000 XP


1-3358
andrey_pst
2002-08-22 07:53
2002.09.02
Маска файлов в OpenDialog.