| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Вызов функции из dll |
| Автор: Kationchic 8.4.2008, 10:31 | ||
Есть функция перевода изображения в полутона:
Если я вызываю её просто из модуля она хорошо работает... но если вызываю её из dll, начинает громко ругаться матом. Что делать? |
| Автор: Wolfgan 8.4.2008, 10:59 |
| Ты почитай как правильно вызывать функцию из DLL. Точно не помню, но там нужно помоему с директивой stadartcall вызывать. |
| Автор: Kationchic 8.4.2008, 11:07 |
| Вызываю правильно - остальные функции пашут, но именно эта - нет |
| Автор: Mikh@il 8.4.2008, 11:20 |
| Твоя функция использует еще функцию check, которая ведет контроль выхода за пределы [0..255]. Про нее ты ничего не написал где она храниться, откуда вызывается. А ошибка твоя скорее всего в том, что вызываемая функция не может найти твою вторую check. |
| Автор: Kationchic 8.4.2008, 11:38 |
| =( Закоментировала совсем вызов этой функции - все равно вылетает... Я думаю, что летит на I := img.ScanLine[y]; потому что битмап как-то косо передается... но не знаю как это наверняка проверить или как обойти.... |
| Автор: Mikh@il 8.4.2008, 11:44 |
| Кстати для корректной работы твоей функции изображение должно быть 24bit. т.е. Pixelformat:=pf24bit. Есть такое в твоем коде? |
| Автор: Kationchic 8.4.2008, 11:46 | ||
| Нет, спасибо, что сказали - сейчас вставлю Добавлено через 6 минут и 15 секунд Вставила :
от ошибки не спасло |
| Автор: Alexeis 8.4.2008, 11:58 |
| Мдя... очередной раз не заметили граблей |
| Автор: Kationchic 8.4.2008, 12:07 |
| Но у меня есть функция в той же длл procedure doScaled(var img: TImage; sc: extended); и она работает! |
| Автор: Mikh@il 8.4.2008, 12:11 | ||||
Сделай так:
Вызов функции:
|
| Автор: Kationchic 8.4.2008, 12:16 |
| Спасибо |
| Автор: MetalFan 8.4.2008, 12:35 | ||
просто повезло... если вдруг внутри метода создаются и/или уничтожаются объекты - то огребешь граблей |
| Автор: Kationchic 8.4.2008, 12:44 |
| Ясно... спасибо за информацию. |
| Автор: pseud 9.4.2008, 11:44 | ||
и все же и я выскажусь. предлагаю передать картинку через строку.
|
| Автор: MetalFan 9.4.2008, 12:44 |
| pseud, не идеальный вариант. который скорее всего опять же приведет к неправильному выделению/освобождению памяти в приложении/длл |