Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизВизуальное наследование Найти похожие ветки
← →
sergeyst © (2007-01-29 10:02) [0]Здрасте.
Сделал фрейм с тулбаром. На форме какие-то кнопки работают, какие-то нет. Кенту пишет, что визуальное наследование для форм не работает, а для фреймов? Хотя, когда, для примера, делаю простые фрейм или форму - все как надо, а вот в реальной задаче - чего-то глючит. Подскажите, кто знает.
← →
tesseract © (2007-01-29 10:18) [1]
> Хотя, когда, для примера, делаю простые фрейм или форму
> - все как надо, а вот в реальной задаче - чего-то глючит.
> Подскажите, кто знает.
Ошибка в 17 строке.
Код в студию скажу от какой строки она семнадцатая.
← →
sergeyst © (2007-01-29 10:26) [2]эти кнопки работают:
procedure TViewDocFrame.OleContainer1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
var
T: TPoint;
begin
T:=Mouse.CursorPos;
T:= ScrollBox1.ScreenToClient(T);
OleContainer1.Top:=T.Y-MouseXY.Y;
OleContainer1.Left:=T.X-MouseXY.X;
end;
procedure TViewDocFrame.Image1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then begin
MouseXY.X := X;
MouseXY.Y := Y;
Image1.BeginDrag(True);
end;
end;
а эти нет:
procedure TViewDocFrame.tbViewCDWClick(Sender: TObject);
begin
Par_Code := "EGA0009";
OleContainer1.Visible := True;
Image1.Visible := False;
OleContainer1.BringToFront;
UnitProc.CDWView(OleContainer1, MainChildForm.IBQueryList.FieldByName("NMK_ID").AsInteger);
end;
procedure TViewDocFrame.tbViewSPWClick(Sender: TObject);
begin
Par_Code := "EGA0011";
OleContainer1.Visible := True;
Image1.Visible := False;
OleContainer1.BringToFront;
UnitProc.SPWView(OleContainer1, MainChildForm.IBQueryList.FieldByName("NMK_ID").AsInteger);
end;
← →
sergeyst © (2007-01-29 10:27) [3]неработающие в фрейме процедуры в форме работают
← →
Elen © (2007-01-29 10:32) [4]
> sergeyst
эти кнопки работают:
OleContainer1DragOver
Image1MouseDown
Это что за название кнопок такое?
← →
sergeyst © (2007-01-29 10:39) [5]Elen © (29.01.07 10:32) [4]
Не работает из-за названий?
На какие поменять?
← →
Elen © (2007-01-29 10:45) [6]
> Не работает из-за названий?
> На какие поменять?
Поменять не названия, а события. если эти кода должны вызываться по клику то их и надо посадить на OnClick.
← →
sergeyst © (2007-01-29 11:58) [7]
> Elen © (29.01.07 10:45) [6]
Так они на клике
tbViewSPW - это имя кнопки
tbViewSPWClick - это, я так понимаю, OnClick
← →
evvcom © (2007-01-29 12:02) [8]> [3] sergeyst © (29.01.07 10:27)
> неработающие в фрейме процедуры в форме работают
Посмотри в форме, обработчики на эти кнопки стоят? А то в фрейме они есть, а в форме ты их мог переназначить.
← →
sergeyst © (2007-01-29 12:21) [9]evvcom © (29.01.07 12:02) [8]
Дык, в том то и дело, что не переназначал
← →
sergeyst © (2007-01-29 12:24) [10]Ну, а вообще наследоваться-то должно? И на формах?
(в смысле наследование обработчиков для коллекций - ListView, ToolBar и т.д.)?
← →
sergeyst © (2007-01-29 12:24) [11]А что означает ИМХО?
← →
Elen © (2007-01-29 12:50) [12]
> sergeyst © (29.01.07 11:58) [7]
>
>
> > Elen © (29.01.07 10:45) [6]
>
> Так они на клике
> tbViewSPW - это имя кнопки
> tbViewSPWClick - это, я так понимаю, OnClick
Эт я понимаю. Меня просто немного удивило выражение :
> эти кнопки работают:
> procedure TViewDocFrame.OleContainer1DragOver(Sender, Source:
> TObject; X,
← →
evvcom © (2007-01-29 14:28) [13]> [10] sergeyst © (29.01.07 12:24)
Все должно. Хотя, что ты в данном случае называешь наследованием? В дизайнтайм в D7 на форме для объекта из фрейма я не вижу в инспекторе обработчика, хотя находясь в модуле самого фрейма я его вижу.
В фрейме ты написал обработчик, он прописался в ресурсы фрейма. Этот фрейм внедряешь в форму. В рантайм он создается, все инициализируется в соответствии с ресурсами фрейма, и если ты этот обработчик в форме не переназначал, т.е. в ресурсах формы он не значится, то и в рантайм после всех этих созданий/инициализаций из ресурсов формы он никак не изменится. Поэтому должен вызваться обработчик, написанный в модуле фрейма.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.064 c