|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Ошибка Invalid Pointer Operation при загрузки из dll...
Я сделал DLL с функцией, написал exports, компилировал - все "норм". Но вот при загрузки этой функции из этого dll вылазит ошибка Invalid Pointer Operation, И ПРИЧЕМ ЭТА ФУНКЦИЯ РАБОТАЕТ! т.е. вылезит ошибка, но например в Edit1 появится значение функции (
Код:
Edit1.Text:=MyFunction Код:
Edit1.Text:=MyFunction http://forceway.ru/ |
#2
|
|||
|
|||
Какое соглашение по вызову функции стоит?
А вообще, из dll лучше возвращать PChar. Только не забудь, что память должна освобождаться тем же модулем, что была выделена. |
#3
|
||||
|
||||
Я так понял, функция возвращает строку? Если так, то лучше делать так, как посоветовал lmikle, т.е. юзать указатели. Но если все же хочется строки, убедитесь что 1) в коде вашей библиотеки в списке Uses первым идет ShareMem 2) что у вас в папке с программой лежит файл BORLNDMM.DLL (взять его можно в папке Delphi\Bin) 3) в коде вашего проекта также добавлен модуль ShareMem (Project-View Source, там нужно добавить его в Uses). Все это дело можно было прочитать при создании библиотеки (там в каментах все написано)
Цитата:
Не профи, но и не чайник . D6 - лучше не придумали. Пока. |
#4
|
||||
|
||||
Всеравно этаже ошибка... Сделал все так как вы сказали...
http://forceway.ru/ |