Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.21;
Скачать: CL | DM;

Вниз

Не наследуется форма! :(   Найти похожие ветки 

 
kull ©   (2003-04-08 13:24) [0]

Народ, помогите кто может!

1. У меня на форме компонент TWebDispatcher, а у него свойство Actions. В этом свойстве один элемент WebActionItem1.

2.Создаю новую форму путем наследования.

Все замечательно работает. Но когда у формы предка появляется обработчик WebActionItem1.OnAction то пункт 2 не работает, и Delphi ругается.

Причем это относится не только к TWebDispatcher, но и к другим компонентам имеющим свойства типа TCollectionItem. Этот глюк у Delphi4, у Delphi7 все работает.

Кто-нибудь встречался с таким глюком? Как с этим бороться?


 
kull ©   (2003-04-08 16:32) [1]

Да...
Похоже здесь мне не ответят.... :(


 
MityaP ©   (2003-04-08 17:02) [2]

Ты чего (точнее как) делаешь -то ??
Ща попробовал - все нормально наследуется..??


 
kull ©   (2003-04-08 17:39) [3]

1. В Delphi4 делаю new application
2. на форму кладу компонент TWebDispatcher
3. кликаю по свойству Actions
4. добавляю один элемент (WebActionItem1)
5. кликаю по Event-у OnAction

после этого код выглядит следующим образом.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
WebDispatcher1: TWebDispatcher;
procedure WebDispatcher1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WebDispatcher1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
//
end;

end.


6. выбираю пункт меню File->New, вкладка Project1, нажимаю "Ok"

Вылезает ошибка: Error creating form: Access violation ...


 
MityaP ©   (2003-04-08 18:27) [4]

Ошибка у тебя из-за зацикливания... в обращениях uses !!!
Так наследовать, как ты сказал, можно только не Main форму!!!


 
MityaP ©   (2003-04-08 18:31) [5]

Если б твоя исходная форма была не главном модуле Main.pas, тогдаб всё прошло удачно...
Извиняюь - пустую форму действительно наследует...


 
MityaP ©   (2003-04-08 18:36) [6]

Я наследовал руками в пробе, все работает:
type
TForm2 = class(TForm1)
end;

А ты обойди этот глюк при твоем способе наследования...:
1)Выдели все компоненты формы и вырежи их (или удали),
2)потом создай от нее потомка, как ты выше описал
3)вернись на главную форму и сдела Отмену последнего действия (или, вставить - если вырезал)... и все будет ок.!!!
Будет твой потомок без ошибки



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

Текущий архив: 2003.04.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
3-67107
Ihtiandr
2003-04-02 16:44
2003.04.21
delete в FastReport


3-67131
Инна
2003-04-02 18:08
2003.04.21
ADOQuery в цикле


1-67357
CussedJohn
2003-04-10 04:17
2003.04.21
Формат файлов


3-67178
AlexRu
2003-04-03 16:26
2003.04.21
Удаление данных в DBGrid


3-67091
АндрейБ
2003-03-31 15:39
2003.04.21
БД Paradox