Форум: "Основная";
Текущий архив: 2003.04.28;
Скачать: [xml.tar.bz2];
Внизстранное поведение функции из 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.011 c