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

Вниз

странное поведение функции из DLL   Найти похожие ветки 

 
BBCHa ©   (2003-04-16 14:36) [0]

Народ, есть такая DLL

library Localization;
uses
ShareMem;

Const
MaxLanguage=2;
Type
TLanguage=array [1..MaxLanguage] of String;
Const
Language:TLanguage = ("English", "Русский");

Function GetLanguage:TLanguage;stdcall;
Begin
Result:=Language;
End;

Function GetMaxLanguage:Integer;stdcall;
Begin
Result:=MaxLanguage;
End;

exports
GetMaxLanguage,
GetLanguage;

{$R *.res}

begin
end.

В основной программе функции объявляются так:
type
TLanguage=array[1..10] of String;

function GetMaxLanguage:Integer; stdcall; external "localization.dll" name "GetMaxLanguage";
function GetLanguage:TLanguage; stdcall; external "localization.dll" name "GetLanguage";

Функции отлично отрабатываются, но при этом если вызывается функция GetMaxLanguage, все ОК, а если еще и GetLanguage, то при закрытии программы выдается ошибка:Invalid pointer operator.
В чем грабли????


 
joisy ©   (2003-04-16 15:46) [1]

Попрубуй статичеcкую - не динамическую загрузку DLL! У меня тоже было что-то похожее. Вообщи покажи как ее загружаешь.


 
BBCHa ©   (2003-04-16 15:49) [2]

Все, разобрался, блин, лохонулся по всей форме - uses ShareMem забыл :)



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
1-91297
northwind_new
2003-04-17 14:58
2003.04.28
Не могу найти нужную функцию


3-91158
Rustik
2003-04-09 13:42
2003.04.28
Мастера подскажите пжлста Как реализовать вставку записей в базу


14-91472
Плохой человек
2003-04-09 23:57
2003.04.28
Чем работать с палитрами.


3-91235
Сергей
2003-04-11 08:07
2003.04.28
Как лечить изменение полей Date


4-91590
Nimda2000
2003-03-02 15:49
2003.04.28
Кодировка