VadKomarov
Junior Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору exteris Цитата: Что мешает вызывать вашу процедуру в событии onclick? | проблема именно в том что присвоить такую процедуру в онклик не получается listb1.OnClick:=MyListbClick(sender,mem); {проблема именно в создании обработчика} если просто сделать listb1.OnClick:=MyListbClick(sender); и procedure TForm1.MyListbClick(Sender: TObject); работает а мне надо передать именно var mem:tmemo или как мне обратиться в процедуре к созданному mem:=tmemo.Create(AMsgDialog); можно пример, спасибо заранее. Добавлено: После долгих поисков и консультаций сделал так, ну вдруг кому пригодится. Код: interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IniFiles, StdCtrls, Gauges, ComCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation ...... procedure ListB1Click(Self : TComponent; Sender: TObject); var lb:tlistbox; begin lb:=sender as tlistbox; (self.FindComponent('MyMem') as tmemo).Lines.LoadFromFile(lb.Items[lb.ItemIndex]); end; procedure TForm1.Button1Click(Sender: TObject); var memt,mem:tmemo; AMsgDialog: TForm; listb1:tlistbox; Method : TMethod; begin ..... AMsgDialog := CreateMessageDialog('Выберите интересующую запись из ', mtWarning, [mbYes]); with AMsgDialog do try Caption:= 'Выбор записи' ; Height:=300; Width:=300; mem:=tmemo.Create(AMsgDialog); mem.Parent:=AMsgDialog; mem.Top:=100; mem.Left:=160; mem.Width:=150; mem.Name:='MyMem'; listb1:=tlistbox.Create(AMsgDialog); listb1.Parent:=AMsgDialog; listb1.Top:=100; listb1.Left:=8; listb1.Width:=150; method.Code := @ListB1Click; method.Data := AMsgDialog; listb1.OnClick:=TNotifyEvent (Method); listb1.ItemIndex:=0; case ShowModal of ID_YES: restxt:=listb1.Items[listb1.ItemIndex];//здесь Ваш код после того как диалог будет закрыт // ID_NO: ; end; finally listb1.Free; free; end; ....... |
| Всего записей: 100 | Зарегистр. 01-05-2005 | Отправлено: 07:21 17-04-2018 | Исправлено: VadKomarov, 11:48 17-04-2018 |
|