Главная страница
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.027 c
6-67425
nester
2003-02-25 15:41
2003.04.21
Как отобразить в браузере страничку браузер был без меню


3-67165
Наташа
2003-04-03 14:41
2003.04.21
FreeReport


14-67491
Punk_poet2
2003-04-03 12:25
2003.04.21
Передача данных


1-67281
unknown
2003-04-11 11:35
2003.04.21
Таскание окна за любое место


14-67525
Style
2003-04-04 10:52
2003.04.21
В чем прикол?