Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

Как передать popupmenu из dll в программу   Найти похожие ветки 

 
bloodman ©   (2004-08-05 16:49) [0]

Есть dll в ней динамически(впрочем это не важно) создается popupmenu.  И мне его нужно передать в программу и присвоить его контролу делал так:
  dll:
type
 PPopupMenu : ^Tpopupmenu;

Function init: PPopupMenu;
begin
Result := @Mypopup;
end;

в программе писал так:

@ListBox1.popupmenu:=Init;

Но так не работает. Каким способом можно передать??


 
GuAV ©   (2004-08-05 19:26) [1]

Почему ты так эти @ любишь? :-)
Так попробуй:

Function init: TPopupMenu;
begin
Result := Mypopup;
end;

ListBox1.popupmenu:=Init;


 
Гаврила ©   (2004-08-05 19:47) [2]

Так как сказал GuAV ©   (05.08.04 19:26) [1]
можно только при условии BwRTP


 
bloodman ©   (2004-08-05 21:30) [3]

GuAV ©   (05.08.04 19:26) [1]

ДА только C  начал изучать а там одни указатели везде :)


 
bloodman ©   (2004-08-05 21:32) [4]

Access Violation


 
bloodman ©   (2004-08-05 21:33) [5]

BwRTP Это что??


 
Гаврила ©   (2004-08-05 21:40) [6]


> BwRTP Это что??


Build with runtime packages


 
Гаврила ©   (2004-08-05 21:43) [7]


> ДА только C  начал изучать а там одни указатели везде :)


Function init: PPopupMenu;

результат этой функции  -указатель на указатель
а вот Mypopup - это просто указатель

указатель на указатель - это крайне редко необходимо, в 99 процентах случаев без этого можно обойтись, и в данном случае тоже


 
bloodman ©   (2004-08-05 22:56) [8]

Как обойтись? Подскажи плизз.


 
Гаврила ©   (2004-08-05 23:38) [9]

вариант [1] сработает, если и exe и dll скомпилированы с ран тайм пакетами

если это неприемлимо - копайся в глубинах API
например, передавать handle
или второй вариант - передавать структурой хранилище строк - caption ов  меню, и параллельно хранилище callback - обработчмков нажатий. В этом случае хост должен по полученной информации из библиотеки сам строить меню


 
bloodman ©   (2004-08-06 13:19) [10]

>вариант [1] сработает, если и exe и dll скомпилированы с ран тайм пакетами
К сожалению это неприемлемо.
>например, передавать handle
пробовал это read-only параметр. (TPopUpMenu, WinApi , пока не смотрел)
>или второй вариант - передавать структурой хранилище строк - caption ов  меню, и параллельно хранилище callback - обработчмков нажатий. В этом случае хост должен по полученной информации из библиотеки сам строить меню
Видимо придется так :(( У мя так все контролы создаются. Думал хоть с popup можно как то полегче.

Может у кого - нибуть еще идеи есть как передать popup??? МАСТЕРА плизз помогите.


 
GuAV ©   (2004-08-06 14:04) [11]

а чем бы не передать в dll хендл контрола, куда popup цеплять?


 
bloodman ©   (2004-08-06 15:14) [12]

До вызова функции программа не знает что создавать, поэтому даже если жто бы сработало не подходит в моей ситуации. Ж(



Страницы: 1 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
3-1090815092
Poluprovodnik
2004-07-26 08:11
2004.08.22
Сортировка в DBGridEh


3-1091440881
V-A-V
2004-08-02 14:01
2004.08.22
Связь с таблицей из другой базы в Access базах


9-1082992489
S.W.I.N.E.
2004-04-26 19:14
2004.08.22
Алгоритм созжания карты


3-1091101972
SergP
2004-07-29 15:52
2004.08.22
Проблема с запросом...(LEFT JOIN)


3-1090916085
Mamed
2004-07-27 12:14
2004.08.22
illegal zero-length identifier