Текущий архив: 2006.02.12;
Скачать: CL | DM;
ВнизСоздание объектов в dll и создание обработчиков для них. Найти похожие ветки
← →
manefesto © (2006-01-13 15:59) [0]Пытался создать в dll динамически объекты класса TButton и TLabel. И повешать на MyButton обработчик по которому менялось бы поле Caption в MyLabel. Но проблему решить не смог. Обработчик не реагирует.
Код:
library Buttons;
uses
Forms, StdCtrls,Controls,Variants, Dialogs;
var MyButton:TButton;
MyLabel:TLabel;
{$R *.res}
procedure ButtonClick(sender:TObject);stdcall;
begin
MyLabel.Caption:="XXX";
end;
procedure CreateButtons(Pform:TForm);stdcall;
begin
MyButton:=TButton.Create(pform);
with MyButton do
begin
ParentFont:=false;
Parent:=TWinControl(pForm);
left:=10;
top:=30;
Caption:="Button";
Height:=25;
Width:=75;
name:="Button1";
@OnClick:=@ButtonClick;
end;
MyLabel:=TLabel.Create(pform);
with MyLabel do
begin
ParentFont:=false;
left:=100;
top:=30;
Height:=250;
Width:=400;
Caption:="Label";
Parent:=TWinControl(pForm);
end;
end;
exports
CreateButtons;
begin
end.
← →
Reindeer Moss Eater © (2006-01-13 16:37) [1]Замени
@OnClick:=@ButtonClick;
на
OnClick:=ButtonClick;
И сразу увидишь в чем ты неправ
← →
Ega23 © (2006-01-13 17:07) [2]procedure of object
← →
manefesto © (2006-01-16 08:00) [3]если бы все так было просто.
OnClick:=ButtonClick;
не прокатывает, выдает ошибку Incompatible types: "Calling convertions differ"
Да и я думал что достаточно умные люди проверяют то что советует нежели голословно говорить. Тема не закрыта.
← →
evvcom © (2006-01-16 10:02) [4]
> manefesto © (13.01.06 15:59)
У тебя здесь столько тараканов! Просто ужас!
1. OnClick: TNotifyEvent - совсем не регулярная процедура и тем более не stdcall.
2. В [1] тебе была дана подсказка, а не решение. "Calling convertions differ" должно было тебя натолкнуть на неоправданное применение stdcall. Ты хоть понимаешь что это и зачем?
← →
Чапаев © (2006-01-16 10:02) [5]
> Да и я думал что достаточно умные люди проверяют то что
> советует нежели голословно говорить
Достаточно умные люди внимательно читают хелп и понимают, в чём разница между procedure и procedure of object.
Страницы: 1 вся ветка
Текущий архив: 2006.02.12;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.04 c