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

Вниз

Ошибка компилятора (!?)   Найти похожие ветки 

 
Savek   (2008-08-29 16:49) [0]

Есть дочерняя форма, вот код модуля

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" ????


 
ZiZi   (2008-08-29 16:58) [1]

rgField Видно прописывал ручками ... Да?


 
Игорь Шевченко ©   (2008-08-29 17:01) [2]

текст dfm в студию


 
Savek   (2008-08-29 17:01) [3]

нет. Кидал на форму как обычно.


 
ZiZi   (2008-08-29 17:03) [4]


> текст dfm в студию

Действительно. Чёто-как-то-так...


 
Savek   (2008-08-29 17:04) [5]

вот dfm

object frmActItems: TfrmActItems
 Left = 279
 Top = 158
 Width = 404
 Height = 283
 Caption = "Параметры акта приемки"
 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 Bevel1: TBevel
   Left = 8
   Top = 8
   Width = 377
   Height = 201
 end
 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 = 139
   Width = 60
   Height = 13
   Caption = "Покупатель"
 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 BitBtn1: TBitBtn
   Left = 112
   Top = 216
   Width = 75
   Height = 25
   Caption = "Печать"
   TabOrder = 5
   Kind = bkOK
 end
 object BitBtn2: TBitBtn
   Left = 216
   Top = 216
   Width = 75
   Height = 25
   Caption = "Отмена"
   TabOrder = 6
   Kind = bkCancel
 end
 object cbPok: TComboBox
   Left = 176
   Top = 136
   Width = 201
   Height = 22
   Style = csOwnerDrawFixed
   ItemHeight = 16
   ItemIndex = 0
   TabOrder = 7
   Text = "Покупатель 1"
   Items.Strings = (
     "Покупатель 1"
     "Покупатель 2")
 end
 object RadioGroup1: TRadioGroup
   Left = 24
   Top = 168
   Width = 345
   Height = 41
   Caption = "RadioGroup1"
   TabOrder = 8
 end
end


 
Anatoly Podgoretsky ©   (2008-08-29 17:06) [6]

А ты    Label6: TLabel; удали


 
ZiZi   (2008-08-29 17:07) [7]

Перепеши имя объекта RadioGroup1 на rgField


 
Savek   (2008-08-29 17:15) [8]

to Anatoly Podgoretsky : Это шутка? Ну все равно удалил, эффекта никаккого (за исключением отсуствия оного)

to ZiZi : имя здесь не причем, просто между [1] и [5] я удалял этот компонент, и потом когда вставил обратно, забыл ему имя поменять


 
Savek   (2008-08-29 17:18) [9]

Если немного углубиться, эта форма создавалась где-то полгода назад, первоначальный вариант без TRadioGroup. А вчера понадобилось добавить этот компонент и вот крыша уже едет....


 
stas ©   (2008-08-29 17:20) [10]

А если на основную форму вставить RadioGroup ошибка возникает?


 
Vlad Oshin ©   (2008-08-29 17:21) [11]

удалить, вставить, сохранить, открыть, запустить?


 
ZiZi   (2008-08-29 17:22) [12]

Короче смотри исходники dfm pas и т.д. шерсти... Штоб всё сходилось. Иначе баг или компонент битый.


 
Savek   (2008-08-29 17:29) [13]

[11],[12] делаю уже два дня, крыша едет, а проблема на месте

to stas: Нет, не возникает. Вообще проект состоит из более чем полсотни модулей, в них используется куча классов, в том числе и TRadioGroup, везде все работает как надо, а эта форма как заговоренная. Разумеется выход есть довольно простой: удалить ее нафиг и создать новый модуль - делов на 5 мин.

Но вопрос ПОЧЕМУ? пока не дает это делать...


 
Savek   (2008-08-29 17:34) [14]

Очередной шаг изысканий, добавил строчку в процедуру создания формы:

....
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) [15]


> Savek   (29.08.08 17:29) [13]

кстати, вставил все как ты писал - тоже ругнулось.
Кинул еще один радиогрупп, работает. удалил.
потом удалил этот, потом опять вставил - поехало.. dbs2006


 
ZiZi   (2008-08-29 17:37) [16]


> Но вопрос ПОЧЕМУ? пока не дает это делать...


Хм-м-м-м... Интерестно, раз крыша едет. Если уже не... :) Я тогда пасую...


 
Savek   (2008-08-29 17:48) [17]

Последний рывок :
создаю новую форму, выделяю все компоненты со старой, копи-паст получается такая же форма но сдругим именем. Вот код модуля

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. Всем спасибо. Пошел домой.

ЗЫ Старый модуль сохраню. Если описанная трабла будет возникать в новом проекте с этим модулем, буду пугать им коллег )


 
{RASkov} ©   (2008-08-29 18:24) [18]

> Ошибка компилятора (!?)

Уже не интересно.... слишком часто :)


 
Anatoly Podgoretsky ©   (2008-08-29 18:42) [19]

Совсем другой dfm, чем текст из pas


 
Leonid Troyanovsky ©   (2008-08-29 19:17) [20]


> Anatoly Podgoretsky ©   (29.08.08 18:42) [19]

> Совсем другой dfm, чем текст из pas

Между ними же полгода.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2008-08-29 19:24) [21]

> Leonid Troyanovsky  (29.08.2008 19:17:20)  [20]

А нафига обсуждать dfm от другого проекта, который работает.
Мазохисты что ли, это ведь искать там где светлее.


 
Leonid Troyanovsky ©   (2008-08-29 20:26) [22]


> Anatoly Podgoretsky ©   (29.08.08 19:24) [21]

> Мазохисты что ли, это ведь искать там где светлее.

IMHO, это просто путанники.
Путают ошибки компилятора с собс-ручным раздолбайством.

--
Regards, LVT.


 
Amoeba ©   (2008-08-29 21:31) [23]


> Путают ошибки компилятора с собс-ручным раздолбайством.

Это точно. Зеркало виновато ...


 
Anatoly Podgoretsky ©   (2008-08-29 23:18) [24]

> Leonid Troyanovsky  (29.08.2008 20:26:22)  [22]

А я думаю просто по жизни такой.

Ты слышал, что китайцы пьют пиво с раками,
Да это просто у них лица такие.


 
Savek   (2008-08-30 11:04) [25]

Ну ладно, беру свои слова обратно, может конечно компилятор тут ни причем, ошибка моя. Но вот почему-то никто не обратил внимания на

"Project Knopka.exe raised exception EClassNotFound with message " Class TRadioGroup  not found"
и
"Project Knopka.exe raised exception EReadError with message " Invalid propеrty value"
я впервые встречаю подобные исключения, кто-нибудь может их прокомментировать?


 
{RASkov} ©   (2008-08-30 11:20) [26]

> [25] Savek   (30.08.08 11:04)
> я впервые встречаю подобные исключения, кто-нибудь может
> их прокомментировать?

А выделить строку с сообщением в окне сообщений и нажать F1
Хотя тут достаточно перевести на русский....
1 - Не зарегистрирован и в следствии не найден указанный класс...
2 - Не верное значение свойства...


 
Savek   (2008-08-30 12:43) [27]

1. Это ошибка рун-тайм
2. Перевести я и сам смог.
3. Из чего следует что класс не зарегестрирован? И почему он не найден, если Синтакс чек не выдает никаких сообщений и исходник нормально компилируется в ехе
4. На самом то деле значение св-ва верное (-1)



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

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

Наверх




Память: 0.55 MB
Время: 0.013 c
1-1200175909
istok
2008-01-13 01:11
2008.10.12
Совпадение PID ов в разных сессиях...


2-1220869089
krolic
2008-09-08 14:18
2008.10.12
Проблема с условием else


2-1218980426
demon
2008-08-17 17:40
2008.10.12
Помогите разобраться с простейшей программой на API


2-1220459844
Mariks
2008-09-03 20:37
2008.10.12
InternetOpenURL


2-1220858999
pavel_guzhanov
2008-09-08 11:29
2008.10.12
Как закрыть файл Excel, чтобы в нем сохранились изменения?