![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка компилятора (!?) [D7, XP]
Savek © (2008-08-29 16:49:00)Есть дочерняя форма, вот код модуля
unit UnitActItems;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TfrmActItems = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
ePriem: TEdit;
eNakl: TEdit;
eDate: TEdit;
ePost: TEdit;
eSumma: TEdit;
Bevel1: TBevel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
cbPok: TComboBox;
Label6: TLabel;
rgField: TRadioGroup;
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmActItems: TfrmActItems;
implementation
{$R *.dfm}
end.
вызов из основной формы:
procedure TBaseForm.PrintActExecute(Sender: TObject);
var s : currency;
cdsHelp : TClientDataSet;
PostP,NameP : string;
IdP : integer;
begin
if not Assigned(frmActItems) then frmActItems:=TfrmActItems.Create(self);
case LastActive of
5: begin
...
Вываливается ошибка в 1-ой строке:
"Project Knopka.exe raised exception EClassNotFound with message ' Class TRadioGroup not found"
Куда копать?
ЗЫ Если из дочерней формы удалить rgField, все работает без ошибок. Если опять добавить какой либо компонент, вываливается ошибка ' Class TXXXXXX not found" ????
Savek (2008-08-30 12:43:00) [1]1. Это ошибка рун-тайм
2. Перевести я и сам смог.
3. Из чего следует что класс не зарегестрирован? И почему он не найден, если Синтакс чек не выдает никаких сообщений и исходник нормально компилируется в ехе
4. На самом то деле значение св-ва верное (-1)
{RASkov} (2008-08-30 11:20:00) [2]> [25] Savek (30.08.08 11:04)
> я впервые встречаю подобные исключения, кто-нибудь может
> их прокомментировать?
А выделить строку с сообщением в окне сообщений и нажать F1
Хотя тут достаточно перевести на русский....
1 - Не зарегистрирован и в следствии не найден указанный класс...
2 - Не верное значение свойства...
Savek (2008-08-30 11:04:00) [3]Ну ладно, беру свои слова обратно, может конечно компилятор тут ни причем, ошибка моя. Но вот почему-то никто не обратил внимания на
"Project Knopka.exe raised exception EClassNotFound with message ' Class TRadioGroup not found"
и
"Project Knopka.exe raised exception EReadError with message ' Invalid propеrty value"
я впервые встречаю подобные исключения, кто-нибудь может их прокомментировать?
Anatoly Podgoretsky (2008-08-29 23:18:00) [4]> Leonid Troyanovsky (29.08.2008 20:26:22) [22]
А я думаю просто по жизни такой.
Ты слышал, что китайцы пьют пиво с раками,
Да это просто у них лица такие.
Amoeba (2008-08-29 21:31:00) [5]
> Путают ошибки компилятора с собс-ручным раздолбайством.
Это точно. Зеркало виновато ...
Leonid Troyanovsky (2008-08-29 20:26:00) [6]
> Anatoly Podgoretsky © (29.08.08 19:24) [21]
> Мазохисты что ли, это ведь искать там где светлее.
IMHO, это просто путанники.
Путают ошибки компилятора с собс-ручным раздолбайством.
--
Regards, LVT.
Anatoly Podgoretsky (2008-08-29 19:24:00) [7]> Leonid Troyanovsky (29.08.2008 19:17:20) [20]
А нафига обсуждать dfm от другого проекта, который работает.
Мазохисты что ли, это ведь искать там где светлее.
Leonid Troyanovsky (2008-08-29 19:17:00) [8]
> Anatoly Podgoretsky © (29.08.08 18:42) [19]
> Совсем другой dfm, чем текст из pas
Между ними же полгода.
--
Regards, LVT.
Anatoly Podgoretsky (2008-08-29 18:42:00) [9]Совсем другой dfm, чем текст из pas
{RASkov} (2008-08-29 18:24:00) [10]> Ошибка компилятора (!?)
Уже не интересно.... слишком часто :)
Savek (2008-08-29 17:48:00) [11]Последний рывок :
создаю новую форму, выделяю все компоненты со старой, копи-паст получается такая же форма но сдругим именем. Вот код модуля
unit UnitTemp;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons;
type
TTempForm = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
ePriem: TEdit;
eNakl: TEdit;
eDate: TEdit;
ePost: TEdit;
eSumma: TEdit;
cbPok: TComboBox;
rgField: TRadioGroup;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Bevel1: TBevel;
private
{ Private declarations }
public
{ Public declarations }
end;
var
TempForm: TTempForm;
implementation
{$R *.dfm}
end.
вот код dfm
object TempForm: TTempForm
Left = 192
Top = 114
Width = 401
Height = 283
Caption = 'TempForm'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 24
Top = 19
Width = 111
Height = 13
Caption = '???? ??????? ??????'
end
object Label2: TLabel
Left = 24
Top = 43
Width = 91
Height = 13
Caption = '????? ?????????'
end
object Label3: TLabel
Left = 24
Top = 67
Width = 83
Height = 13
Caption = '???? ?????????'
end
object Label4: TLabel
Left = 24
Top = 91
Width = 115
Height = 13
Caption = '???????? ??????????'
end
object Label5: TLabel
Left = 24
Top = 115
Width = 74
Height = 13
Caption = '????? ?? ????'
end
object Label6: TLabel
Left = 24
Top = 136
Width = 60
Height = 13
Caption = '??????????'
end
object Bevel1: TBevel
Left = 8
Top = 8
Width = 377
Height = 201
end
object ePriem: TEdit
Left = 176
Top = 16
Width = 201
Height = 21
TabOrder = 0
Text = 'ePriem'
end
object eNakl: TEdit
Left = 176
Top = 40
Width = 201
Height = 21
TabOrder = 1
Text = 'eNakl'
end
object eDate: TEdit
Left = 176
Top = 64
Width = 201
Height = 21
TabOrder = 2
Text = 'eDate'
end
object ePost: TEdit
Left = 176
Top = 88
Width = 201
Height = 21
TabOrder = 3
Text = 'ePost'
end
object eSumma: TEdit
Left = 176
Top = 112
Width = 201
Height = 21
Enabled = False
TabOrder = 4
Text = 'eSumma'
end
object cbPok: TComboBox
Left = 176
Top = 136
Width = 201
Height = 22
Style = csOwnerDrawFixed
ItemHeight = 16
ItemIndex = 0
TabOrder = 5
Text = '?????????? 1'
Items.Strings = (
'?????????? 1'
'?????????? 2')
end
object rgField: TRadioGroup
Left = 24
Top = 168
Width = 345
Height = 41
Caption = 'rgField'
TabOrder = 6
end
object BitBtn1: TBitBtn
Left = 112
Top = 216
Width = 75
Height = 25
Caption = '??????'
TabOrder = 7
Kind = bkOK
end
object BitBtn2: TBitBtn
Left = 216
Top = 216
Width = 75
Height = 25
Caption = '??????'
TabOrder = 8
Kind = bkCancel
end
end
вот вызов из основной формы
procedure TBaseForm.PrintActExecute(Sender: TObject);
var s : currency;
cdsHelp : TClientDataSet;
PostP,NameP : string;
IdP : integer;
begin
if not Assigned(TempForm) then Tempform:=TTempForm.Create(self);
case LastActive of
5: begin
...
Запускаем... Вауля ! Все работает, никаких исключений.
No comment. Всем спасибо. Пошел домой.
ЗЫ Старый модуль сохраню. Если описанная трабла будет возникать в новом проекте с этим модулем, буду пугать им коллег )
ZiZi (2008-08-29 17:37:00) [12]
> Но вопрос ПОЧЕМУ? пока не дает это делать...
Хм-м-м-м... Интерестно, раз крыша едет. Если уже не... :) Я тогда пасую...
Savek (2008-08-29 17:34:00) [13]Очередной шаг изысканий, добавил строчку в процедуру создания формы:
....
var
frmActItems: TfrmActItems;
implementation
{$R *.dfm}
procedure TfrmActItems.FormCreate(Sender: TObject);
begin
rgField.ItemIndex:=-1;
end;
Имеем след. исключение:
"Project Knopka.exe raised exception EReadError with message ' Invalid proprty value"
далее следует гомерический хохот...
Vlad Oshin (2008-08-29 17:34:00) [14]
> Savek (29.08.08 17:29) [13]
кстати, вставил все как ты писал - тоже ругнулось.
Кинул еще один радиогрупп, работает. удалил.
потом удалил этот, потом опять вставил - поехало.. dbs2006
Savek (2008-08-29 17:29:00) [15][11],[12] делаю уже два дня, крыша едет, а проблема на месте
to stas: Нет, не возникает. Вообще проект состоит из более чем полсотни модулей, в них используется куча классов, в том числе и TRadioGroup, везде все работает как надо, а эта форма как заговоренная. Разумеется выход есть довольно простой: удалить ее нафиг и создать новый модуль - делов на 5 мин.
Но вопрос ПОЧЕМУ? пока не дает это делать...
ZiZi (2008-08-29 17:22:00) [16]Короче смотри исходники dfm pas и т.д. шерсти... Штоб всё сходилось. Иначе баг или компонент битый.
Vlad Oshin (2008-08-29 17:21:00) [17]удалить, вставить, сохранить, открыть, запустить?
stas (2008-08-29 17:20:00) [18]А если на основную форму вставить RadioGroup ошибка возникает?
Savek (2008-08-29 17:18:00) [19]Если немного углубиться, эта форма создавалась где-то полгода назад, первоначальный вариант без TRadioGroup. А вчера понадобилось добавить этот компонент и вот крыша уже едет....
Savek (2008-08-29 17:15:00) [20]to Anatoly Podgoretsky : Это шутка? Ну все равно удалил, эффекта никаккого (за исключением отсуствия оного)
to ZiZi : имя здесь не причем, просто между [1] и [5] я удалял этот компонент, и потом когда вставил обратно, забыл ему имя поменять