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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2008, 05:50   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
Смущение Посылаем адресс компонента в dll

Привет всем!
Пишу вот так:
EXE
Код:
...
testing: procedure(p: pointer); stdCall;
...
hand := loadLibrary(pChar(extractFilePath(application.ExeName)+'dll\dll.dll'));
@testing := getProcAddress(hand, 'loadingImage');
...
testing(@image1);
DLL
...
procedure loadingImage(p: Pointer); stdCall;
begin
tImage(p^).picture.loadFromFile('d: \documents\atom.bmp');
end;
...
exports loadingImage;
...
Но не получаеться. Надеюсь, из кода ясно, что я хочу провирныть?
Как мне это сделать? Спасибо заранее!
Altera вне форума Ответить с цитированием
Старый 27.04.2008, 06:18   #2
MusicMan
Пользователь
 
Аватар для MusicMan
 
Регистрация: 19.04.2008
Сообщений: 66
По умолчанию

А с экспортом ничё не напутал. Смутно помнится нуно экспортировать
либо по индексу, либо по имени... А хотя чёрт его знает, надо в литер рожу сунуть...

ЗЫ : если чё не понял или пропустил... Сори... не спал 3 суток
Нет таких проблем, которых мы не можем себе создать

Последний раз редактировалось MusicMan; 27.04.2008 в 06:30.
MusicMan вне форума Ответить с цитированием
Старый 27.04.2008, 06:53   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
Смущение

Модераторы! Удалите пожалуйста эту тему, если можно, без штрафа
Случайно 2 создал...
Altera вне форума Ответить с цитированием
Старый 27.04.2008, 07:02   #4
MusicMan
Пользователь
 
Аватар для MusicMan
 
Регистрация: 19.04.2008
Сообщений: 66
По умолчанию

Ну у тебя и амбиций... Никакой вежливости... Обматерить бы!!!
Нет таких проблем, которых мы не можем себе создать

Последний раз редактировалось MusicMan; 27.04.2008 в 07:11.
MusicMan вне форума Ответить с цитированием
Старый 27.04.2008, 07:31   #5
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
Злость

Цитата:
Сообщение от MusicMan Посмотреть сообщение
Ну у тебя и амбиций... Никакой вежливости... Обматерить бы!!!
Что ты имеешь ввиду?
Altera вне форума Ответить с цитированием
Старый 27.04.2008, 07:38   #6
MusicMan
Пользователь
 
Аватар для MusicMan
 
Регистрация: 19.04.2008
Сообщений: 66
По умолчанию

Прежде чем хелпить модераторов мог бы ради приличия
чё нибудь чирикнуть. Знаешь какого мне... чувствую себя полным...
Нет таких проблем, которых мы не можем себе создать
MusicMan вне форума Ответить с цитированием
Старый 27.04.2008, 07:46   #7
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Сорри....
Там дело не в экспорте...
Altera вне форума Ответить с цитированием
Старый 27.04.2008, 07:49   #8
MusicMan
Пользователь
 
Аватар для MusicMan
 
Регистрация: 19.04.2008
Сообщений: 66
По умолчанию

Закрыли тему...
Нет таких проблем, которых мы не можем себе создать
MusicMan вне форума Ответить с цитированием
Старый 27.04.2008, 07:55   #9
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Как закрыли? А на вопрос та мы не ответили....
http://programmersforum.ru/showthread.php?t=17994
Altera вне форума Ответить с цитированием
Старый 27.04.2008, 10:33   #10
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Интересный эффект.

Сначала о причине. В Graphics описана переменная FileFormats, которая используется в LoadFromFile и создается только в TPicture.Create. А т.к. в dll мы TPicture не создаем, она = nil - отсюда ошибка.

Теперь решение. В секции инициализации создаем TPicture и сразу уничтожаем и все работает.

Код:
library dll;
...
var P2:TPicture;
begin
   P2 := TPicture.Create;
   P2.free;
end.
PS Думаю не надо напоминать о ShareMem.
alexBlack вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изьять адресс эл.почты из гиперссылки M17 Microsoft Office Excel 3 30.07.2008 10:55
Посылаем адресс компонента в dll Altera Общие вопросы Delphi 0 27.04.2008 05:50
Как определить IP-адресс компьютера в локальной сети? SalasAndriy C/C++ Сетевое программирование 2 29.11.2007 02:09
IP Адресс, DNS, WINS NovaC Работа с сетью в Delphi 3 22.01.2007 09:05