![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Я сделал 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). Все это дело можно было прочитать при создании библиотеки (там в каментах все написано)
Цитата:
Не профи, но и не чайник ![]() ![]() |
#4
|
||||
|
||||
![]() Всеравно этаже ошибка...
![]() ![]() http://forceway.ru/ ![]() |