Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];

Вниз

Ашипка при освобождении DLL   Найти похожие ветки 

 
RzCoDer ©   (2006-06-12 11:11) [0]

procedure TForm1.Button1Click(Sender: TObject);
var
hcDLL: THandle;
fGetStr : TGetStr;
begin
hcDLL := LoadLibrary("mydll.dll");
if hcDLL <= HINSTANCE_ERROR then
begin
 MessageDlg("Ошибка открытия DLL", mtError, [mbOk], 0);
 Exit;
end;
fGetStr := GetProcAddress(hcDLL, "GetString");
if not Assigned(fGetStr) then
begin
 MessageDlg("Нету такой функции!",mtError,[mbOk],0);
 exit;
end;
label1.Caption := fGetStr;
FreeLibrary(hcDLL);
end;


AV ошибка при вызове FreeLibrary(hcDLL); если её не писать ошибки нет... отчего так?


 
isasa ©   (2006-06-12 11:39) [1]

telepator on

Наверное,
label1.Caption = type TCaption = type string;
uses Sharemem, ...

telepator off


 
Плохиш ©   (2006-06-12 11:41) [2]


> hcDLL := LoadLibrary("mydll.dll");
> if hcDLL <= HINSTANCE_ERROR then

Чушь какая-то, в случае ошибки возвращается 0 и ошибку надо надо спрашивать у GetLastError.

> if not Assigned(fGetStr) then
> begin
>  MessageDlg("Нету такой функции!",mtError,[mbOk],0);
>  exit;
> end;
> label1.Caption := fGetStr;
> FreeLibrary(hcDLL);

Т.е. если функции нет, то и библиотеку выгружать не зачем?

PS. Для чего в Делфи встроили отладчик?


 
RzCoDer ©   (2006-06-12 11:49) [3]

Ошибка имеенно апри вызове FreeLibrary(hcDLL);


 
Плохиш ©   (2006-06-12 12:16) [4]


> RzCoDer ©   (12.06.06 11:49) [3]
> Ошибка имеенно апри вызове

Я думаю, для начала надо протрезветь.


 
RzCoDer ©   (2006-06-12 12:21) [5]


> Плохиш

Я то протрезвел и ошибку разрешил, а вы явно какой то бред сказали, ибо дело было в использовании string для экспорта. Правильно юзать pChar и всего то.


 
RzCoDer ©   (2006-06-12 12:22) [6]


> isasa

В принципе говорил тоже правильно


 
Palladin ©   (2006-06-12 13:22) [7]


>  а вы явно какой то бред сказали,

и где там сказан бред, позвольте поинтересоваться?


 
RzCoDer ©   (2006-06-12 13:39) [8]


> Т.е. если функции нет, то и библиотеку выгружать не зачем?
>
> PS. Для чего в Делфи встроили отладчик?


1. Ибо мне виднее когда и как вызывать exit и когда освобожать библиотеку

2. А с таким отношением нечего в обще флудить, то что отладчик есть это я и без вас знаю, но почему то спросил в форуме, ожидая по делу ответ


 
Юрий Зотов ©   (2006-06-12 14:05) [9]

> RzCoDer ©   (12.06.06 13:39) [8]

Ответ по делу был дан в первом же посте. Если Вы посчитали его бредом, то это проблема Ваша.


 
RzCoDer ©   (2006-06-12 14:07) [10]


> Юрий Зотов

Кхм, а я это про первый пост сказал?


 
Юрий Зотов ©   (2006-06-12 14:14) [11]

> RzCoDer ©   (12.06.06 14:07) [10]

Когда слово "вы" пишут с маленькой буквы, то это означает, что оно относится ко ВСЕМ.

Значит, бредом Вы назвали и первый пост тоже.


 
Palladin ©   (2006-06-12 14:26) [12]

И второй пост тоже, отнюдь, не бред, а довольно хорошие замечания о совершенных ошибках.



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

Форум: "Начинающим";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.016 c
4-1143625032
Darkwin
2006-03-29 13:37
2006.07.02
Работа с портами


2-1150194744
JTAG
2006-06-13 14:32
2006.07.02
Господа, подскажите пожалуйста, как заменить иконку


15-1149433581
Express
2006-06-04 19:06
2006.07.02
Зачем нужна библиотека - Qtintf70.dll???


2-1150421663
Anonymous2
2006-06-16 05:34
2006.07.02
Удаление файлов из папки.


2-1149844441
Tempora
2006-06-09 13:14
2006.07.02
Пишу программу для проверки соединения с интернетом...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский