Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
ВнизКак передать 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c