|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.05.2013, 15:37 | #1 |
Пользователь
Регистрация: 21.01.2010
Сообщений: 37
|
Ошибка при старте No table name assigned
При старте программы выскакивает ошибка: No table name assigned
Использую встроенный interbase в Delphi XE3 Update1 и Firebird 2.5. Таблицы создаю динамически поэтому поля tablename не заполняю в редакторе, заметил такую вещь что некоторые заполняются сами по названию компонента (name:ibtable1,tablename:ibtable1) - может как раз на это жалуется. Привожу код активации и создания формы - остальное думаю не имеет никого отношения: Код HTML:
[CODE] procedure TForm1.FormCreate(Sender: TObject); var finifile:TIniFile; begin {ibtransaction1.StartTransaction;} {ISNagScreenShown := true; } {finifile:=Tinifile.create(extractfilepath(application.ExeName)+'config.ini'); finifile:=Tinifile.create('C:\kbmk_test\Win32\Debug\config.ini'); {Ibdatabase1.databasename:=finifile.readstring('Base','Path',''); Ibdatabase1.databasename:='BASE.FDB'; FiniFile.Free; } AddFontResource('fonts\HeliosCondC.otf'); AddFontResource('fonts\HeliosCondC-Bold.otf'); SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ; end; procedure TForm1.FormActivate(Sender: TObject); var list:tstringlist; i:integer; begin list:=tstringlist.Create; datamodule1.ibdatabase1.GetTableNames(list); if list.indexof('OPTIONS_GLOBAL')=-1 then begin frame31.ibtable1.active:=false; frame31.ibTable1.Database:=datamodule1.ibdatabase1; frame31.ibtable1.TableName:='OPTIONS_GLOBAL'; frame31.ibtable1.FieldDefs.clear; frame31.ibtable1.fielddefs.add('groups',ftblob,0,false); frame31.ibtable1.FieldDefs.add('pass',ftblob,0,false); frame31.ibtable1.FieldDefs.add('admpass',ftblob,0,false); frame31.ibtable1.FieldDefs.add('check',ftinteger,0,false); frame31.ibtable1.CreateTable; frame31.ibtable1.Active:=true; frame31.ibtable1.close; frame31.ibtable1.TableName:='OPTIONS_GLOBAL'; frame31.ibtable1.open; frame31.ibtable1.Database:=datamodule1.ibdatabase1; frame31.ibtable1.Active:=true; edit1.Text:=frame31.ibtable1.TableName; frame31.ibtable1.edit; frame31.datasource1.Edit; form1.Width:=658; form1.Height:=551; end else edit1.Text:=frame31.ibtable1.TableName; frame21.Combobox1.Items.Clear; frame21.Combobox1.Items.AddStrings(list); N:=POS('_',frame21.ComboBox1.items.Text); if n<>0 then begin for i:=frame21.ComboBox1.Items.Count downto 0 do if Pos('_', frame21.ComboBox1.Items.Strings[i])<>0 then frame21.ComboBox1.Items.Delete(i); frame21.ComboBox1.Sorted:=true; end; frame21.Combobox1.sorted:=true; frame21.Combobox1.text:=frame21.Combobox1.items[0]; frame21.ibtable1.tablename:=frame21.combobox1.text; frame21.ibtable1.active:=true; frame21.ibtable1.edit; frame21.ibtable1.First; while not frame21.ibtable1.Eof do begin frame21.combobox2.Items.Add(frame21.ibtable1.Fieldbyname('id').asstring); frame21.ibtable1.Next; end; end; [/CODE] Последний раз редактировалось Moneo; 28.05.2013 в 15:39. |
28.05.2013, 15:46 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Небось и Connected, и Active в True выставлены в среде разработки
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
28.05.2013, 15:51 | #3 |
Пользователь
Регистрация: 21.01.2010
Сообщений: 37
|
нет конечно все в коде
Методом блокировки нашел что ошибка в FormACtivate а где понять не могу Все разобрался проблема была в строке frame21.Combobox1.text:=frame21.Com bobox1.items[0]; в Комбобоксе не было такой строки. Последний раз редактировалось Moneo; 28.05.2013 в 16:05. |
28.05.2013, 15:56 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Вот это не понятно
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как правильнее Assigned(FOnClick) или Assigned(OnClick) | Upgrades | Компоненты Delphi | 2 | 17.04.2012 20:13 |
ошибка при старте макроса "Automation error (Error 440)" | Дятел | Microsoft Office Excel | 7 | 29.11.2010 17:34 |
нужна одно table где все rows from table 1 но и еще добавленных table 2 | Why | Помощь студентам | 0 | 20.09.2010 10:29 |
создание dll при старте приложения и удаление при завершении | TyoshA | Общие вопросы Delphi | 7 | 13.07.2009 13:56 |
Ошибка Left Side cannot be assigned to.. | DM_bite | Помощь студентам | 1 | 18.09.2008 21:01 |