Вниз
Скачать: CL | DM;

пожалуйста скажите что не так   Найти похожие ветки 

← →
Dy1   (2008-09-14 01:01) [0]

procedure TForm1.butAddClick(Sender: PObj);
var  f, butOK, Ename: PControl;

procedure Click(d, Sender: PObj);
var i: integer;
begin
i := LV.LVItemAdd(Ename.Text); // AV. Как правильно?
end;

begin
f := NewForm(Applet, "Добавление/редактирование записи").SetSize(400,300);
f.ExStyle := f.ExStyle or WS_EX_DLGMODALFRAME or WS_EX_WINDOWEDGE;
f.Style := f.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX);
Ename := NewEditbox(f, []).SetSize(145, 22);
butOK := NewButton(f, "OK").PlaceRight.SetSize(64, 23);
butOK.OnClick := TOnEvent( MakeMethod(nil, @Click));
f.ShowModal;
Ename.Free;
butOK.OnClick := nil;
butOK.Free;
f.Free;
end;


← →
vampir_infernal   (2008-09-14 12:27) [1]

объект LV вы создаёте?


← →
Compiler ©   (2008-09-14 20:52) [2]

> Ename.Free;
> butOK.OnClick := nil;
> butOK.Free;

Лишнее


← →
Dy1   (2008-09-14 21:22) [3]

LV есть. МСКшный


← →
Dy1   (2008-09-14 21:23) [4]

забыл сказать, что Add2Autofree или как там его - AV в этом коде. KOLnMCK 2.86 и 2.87+


← →
Дмитрий К ©   (2008-09-14 22:46) [5]


> что не так

то, что локальная процедура метода TForm1 используется как обработчик события другого объекта


← →
Dy1   (2008-09-15 16:24) [6]

а КАК правильно? Это и был вопрос. При выносе Click не видится Ename, а глобальным делать не хочу


← →
Дмитрий К ©   (2008-09-15 16:42) [7]

Ну сделай так:
procedure TForm1.BtnAddClick(Sender: PObj);
var f, butOK, Ename: PControl;

procedure Click(D: PControl; Sender: PObj);
var i: integer;
begin
i := Form1.LV.LVItemAdd(D.Text);
end;

begin
 f := NewForm(Applet, "Добавление/редактирование записи").SetSize(400,300);
 Ename := NewEditbox(f, []).SetSize(145, 22);
 butOK := NewButton(f, "OK").PlaceRight.SetSize(64, 23);
 butOK.OnClick := TOnEvent(MakeMethod(Ename, @Click));
 f.ShowModal;
 f.Free;
end;

только это тоже не совсем правильно, хотя работает.


← →
Dy1   (2008-09-22 17:33) [8]

там 5 компонентов. butOK, Ename и остальное вынес в глобал. Не нравится, зато работает



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.047 c
3-1240631464
ddd329
2009-04-25 07:51
2010.08.27
Объединение записей


15-1270539779
Игорь
2010-04-06 11:42
2010.08.27
Yandex Деньги через SMS


2-1271157207
Sergey2
2010-04-13 15:13
2010.08.27
экспорт в excel


4-1232054248
Vemer
2009-01-16 00:17
2010.08.27
Как программа может узнать о запуске хранителя экрана?


2-1272982597
novichek
2010-05-04 18:16
2010.08.27
TCPserver




   Наверх