Вниз
Скачать: CL | DM;

Функция в DLL   Найти похожие ветки 

 
Larry Laffer   (2004-06-06 14:03) [0]

Я не пойму свою ошибку:

Я используй в своей программе DLL, где лежит только одна функция, присваивающая
строковой переменной определенный текст. Но почему-то при запуске программы
появляется ошибка "Invalid pointer operation".

Вот исходник DLL:

library Project1;

function ShowVersion(Text: String): String;
begin
if Text="test1" then Result:="Hello! I"m a Test1";
if Text="test2" then Result:="Hello! I"m a Test2";
if Text="test3" then Result:="Hello! I"m a Test2";
if not (Text="test1") and not (Text="test2") and not (Text="test3") then Result:="";
end;

exports
 ShowVersion index 10;

begin
end.


А вот исходник программы (кусочками):


unit Unit1;

uses ...
function ShowVersion(Text: String): String;
type ...
var ...
function ShowVersion; external "testdll.dll" index 10;

procedure TMainForm.FormShow(Sender: TObject);
var
m: string;
begin
m:=ShowVersion("test1");
end;


Подскажите, пожалуйста, где я ошибся!!!


 
Mim1 ©   (2004-06-06 14:16) [1]

Коментирий при создании библиотеки читали?


 
_ALEXey_   (2004-06-07 10:29) [2]

В комментарии написано, что если используются строки String в библиотеке, то в файле проекта приложения (dpr) и в самой библиотеке первым модулем в предложении USES должен быть ShareMem.


 
Amoeba ©   (2004-06-07 10:46) [3]


> Larry Laffer   (06.06.04 14:03)

Надо читать то, что пишет Delphi, а не пропускать это мимо. Тогда и на грабли наступать не будешь.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.019 c
3-1085654602
Tomkat
2004-05-27 14:43
2004.06.20
FireBird on WinXP


1-1086559133
ROMshtain
2004-06-07 01:58
2004.06.20
Как в Opendialog получить имя файла без пути к нему


3-1085664352
Jet
2004-05-27 17:25
2004.06.20
Table => Filter?


14-1085047439
Тумар
2004-05-20 14:03
2004.06.20
Страшная история, но мне нужен совет


6-1082858101
FatBase
2004-04-25 05:55
2004.06.20
Отправка почты: как всё объединить?




   Наверх