Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2007, 16:43   #1
AidarBik
Форумчанин
 
Регистрация: 12.06.2007
Сообщений: 130
По умолчанию Почему ошибка только в DLL?

В моей DLL есть процедура
Код:
uses
  SysUtils,
  Graphics,
  Windows,
  Forms,
  Math,
  ExtCtrls,
  Classes;
 
...
 
procedure ImageNegative(Image: TImage);
var
r, g, b: Byte;
i, j: Integer;
begin
for i:=0 to Image.Width - 1 do
for j:=0 to Image.Height - 1 do
begin
r:=GetRValue(Image.Canvas.Pixels[i, j]);
g:=GetGValue(Image.Canvas.Pixels[i, j]);
b:=GetBValue(Image.Canvas.Pixels[i, j]);
Image.Canvas.Pixels[i, j]:=RGB(255 - r, 255 - g, 255 - b);
end;
Image.Refresh; 
end;
 
exports
ImageNegative;
При вызове процедуры из DLL появляется ошибка, но если вставить ее в сам проект (exe), то ошибки нет. В чем ошибка?
AidarBik вне форума Ответить с цитированием
Старый 03.10.2007, 20:01   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

телепаты в оффлайне!
какая ошибка?
rpy3uH вне форума Ответить с цитированием
Старый 04.10.2007, 00:05   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Кто такой IMAGE?
Если это компонент-картинка, то надо указать, какой форме он принадлежит...
Причем указатель принадлежности должен входить в состав параметров вызова DLL (для универсальности использования оной).

Последний раз редактировалось mihali4; 04.10.2007 в 00:07.
mihali4 вне форума Ответить с цитированием
Старый 04.10.2007, 11:32   #4
AidarBik
Форумчанин
 
Регистрация: 12.06.2007
Сообщений: 130
По умолчанию

Ошика следующая: Exception EInvalidOperator in Module Methods.dll at 00024E10.

mihali4, а можно поподробнее?
AidarBik вне форума Ответить с цитированием
Старый 04.10.2007, 17:20   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
mihali4, а можно поподробнее?
Как осуществляется в программе вызов процедуры из DLL? (кусок кода)
Какие параметры при этом ей передаются?

Последний раз редактировалось mihali4; 04.10.2007 в 17:24.
mihali4 вне форума Ответить с цитированием
Старый 04.10.2007, 18:51   #6
AidarBik
Форумчанин
 
Регистрация: 12.06.2007
Сообщений: 130
По умолчанию

ImageNegative(Image1);
AidarBik вне форума Ответить с цитированием
Старый 04.10.2007, 19:44   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от AidarBik Посмотреть сообщение
ImageNegative(Image1);
Нужно:
ImageNegative(ИмяФормы.Image1);
Например
ImageNegative(Form1.Image1);

Цитата:
а если тело процедуры в длл закоментить, т.е. чтобы ничего не выполнялось, ошибка будет? а то может само обращение к длл неверное, а не тело процедуры...
Тоже резонно... К тому же - по шагам можно определить момент возникновения ошибки.

Последний раз редактировалось mihali4; 05.10.2007 в 12:19.
mihali4 вне форума Ответить с цитированием
Старый 05.10.2007, 09:07   #8
AidarBik
Форумчанин
 
Регистрация: 12.06.2007
Сообщений: 130
По умолчанию

Не помогло. Таже ошибка.
AidarBik вне форума Ответить с цитированием
Старый 05.10.2007, 09:13   #9
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

а если тело процедуры в длл закоментить, т.е. чтобы ничего не выполнялось, ошибка будет? а то может само обращение к длл неверное, а не тело процедуры...
pu4koff вне форума Ответить с цитированием
Старый 07.10.2007, 09:26   #10
AidarBik
Форумчанин
 
Регистрация: 12.06.2007
Сообщений: 130
По умолчанию

Нет. Ошибки нет.
AidarBik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему у мну ошибка??? Altera Общие вопросы Delphi 4 09.03.2008 09:29
начал учить только-только - нужна ваша помошь vanDJ Помощь студентам 20 18.12.2007 21:53
Почему ошибка в IBDataSet? 3lander БД в Delphi 3 10.10.2007 11:38
знаю только С++ nurka Общие вопросы C/C++ 11 15.09.2007 23:53