Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];

Вниз

Может я как то не так работаю с KOL и MCK?   Найти похожие ветки 

 
Cawa ©   (2006-06-10 11:05) [0]

Создал МСК проект, установил на него компоненты (IBDataBase,IBTransaction,IBQuery), написал программулину - все работает зашибись, сохранил.
Сегодня открываю для внесения изменений в проект, запускаю а он мне
[code 0]StartTransaction: DataBase=nil! ,а потом [code 0]prepare: Transaction=nil!. Ну я перелапатил свой код все в порядке, тогда в inc_и полез, тут то собака и была зарыта:
   Result.IBQuery1 := NewIBQuery( Result.IBTransaction1);
  {$IFDEF USE_NAMES}
   Result.IBQuery1.Name := "IBQuery1";
  {$ENDIF}
 Result.Form.Add2AutoFree( Result.IBQuery1 );

   Result.IBTransaction1 := NewIBTransaction( Result.IBDatabase1);
  {$IFDEF USE_NAMES}
   Result.IBTransaction1.Name := "IBTransaction1";
  {$ENDIF}
 Result.Form.Add2AutoFree( Result.IBTransaction1 );

   Result.IBDatabase1 := NewIBDatabase();
  {$IFDEF USE_NAMES}
   Result.IBDatabase1.Name := "IBDatabase1";
  {$ENDIF}
   Result.IBDatabase1.DBName := "base.gdb";
   Result.IBDatabase1.UserName := "SYSDBA";
   Result.IBDatabase1.Password := "masterkey";
 Result.Form.Add2AutoFree( Result.IBDatabase1 );

ладно, исправил, поменял местами, запустил, работает родная.
Сохраняю и открываю по новой , бацц и опять 25 - [code 0]prepare: Transaction=nil!, теперь только IBQuery перебрался поближе к солнцу.
Вопрос: Может я какие-нибудь действия не те делаю? Если да то какие?


 
Vladimir Kladov   (2006-06-10 12:48) [1]

Наоборот Не надо слишком много действия, не читая инрукцию. Даже не читая инструкцию, нетрудно догадаться, что если содержимое файла меняется бз вашего участия, то, аверное, так оно и должно быть. И нечего там руками лазать.


 
ECM ©   (2006-06-10 12:48) [2]

Поправлю... разбираюсь. Пока покспериментируйте с Creation order (контекстное меню на форме) - полегчает


 
ECM ©   (2006-06-10 12:54) [3]

2 Kladov - я предпренимал определенные шаги в зеркале чтобы обеспечить правильную последовательности создания (это там важно) ... но то ли что то поменялось с тех пор в этом плане - толи не всегда срабатывает (кажется что то с CreationPriority - но могу ошибаться). В любом случае раньше понедельника посмотреть не смогу...


 
Cawa ©   (2006-06-10 13:14) [4]

Зря только бочку катешь Vladimir Kladov, MCK и без моего участия такой код сформировало:

Result.IBQuery1 := NewIBQuery( Result.IBTransaction1);
 {$IFDEF USE_NAMES}
  Result.IBQuery1.Name := "IBQuery1";
 {$ENDIF}
Result.Form.Add2AutoFree( Result.IBQuery1 );

  Result.IBTransaction1 := NewIBTransaction( Result.IBDatabase1);
 {$IFDEF USE_NAMES}
  Result.IBTransaction1.Name := "IBTransaction1";
 {$ENDIF}
Result.Form.Add2AutoFree( Result.IBTransaction1 );

  Result.IBDatabase1 := NewIBDatabase();
 {$IFDEF USE_NAMES}
  Result.IBDatabase1.Name := "IBDatabase1";
 {$ENDIF}
  Result.IBDatabase1.DBName := "base.gdb";
  Result.IBDatabase1.UserName := "SYSDBA";
  Result.IBDatabase1.Password := "masterkey";
Result.Form.Add2AutoFree( Result.IBDatabase1 );


Поэтому и пришлось руками полезть чтобы заработало.

От перестановок в Creation order никакого эффекта не получил.

Полазил по папкам с примерами обнаружил такой же дефект в некоторых из них. Но пока даже не представляю какие действия к этому привели.


 
ECM ©   (2006-06-10 13:17) [5]

З.Ы. а руками лазить (в смысле исправлять) там нет смысла - при следующей генерации кода МСК (при открытии проекта, при каких либо изменениях на форме в дезайнере) всё будет восстановлено. Именно это имел ввиду Владимир в [1].
Другое дело, что МСКб,в некоторых случаях, у меня почему то создает объекты не в той последовательности. Но это поправимо...(надеюсь). Пока измените порядок создания в дезайнере см.[2]. У себя на такое же пару раз натыкался - этот способ помог. Но руки пока не доходили разобраться...
:)


 
ECM ©   (2006-06-10 13:24) [6]


> От перестановок в Creation order никакого эффекта не получил.

Возможно придется переоткрыть проект. Это
нужно для правильного запуска генерации кода МСК. Ну уж на самы крайний случай -открой те форму (DFM) как текст (если ваша версия Depphi это позволяет конечно) и отредактируйте порядок появления компонентов в нём. В начале все базы - потом все тразакции и потом уже все запросы.
Ну и последнее средство (а может и лучшее?) - это отказаться вообще от зеркальных компонент (они же все равно не визуальные) для них и создавать всё собственным кодом - это не так уж сложно.


 
Cawa ©   (2006-06-10 13:33) [7]

>Ну и последнее средство (а может и лучшее?) - это отказаться вообще от зеркальных компонент (они же все равно не визуальные) для них и создавать всё собственным кодом - это не так уж сложно.
К этому выводу я сегодня и пришел.
Ладно спасибо Вам за помощь!


 
Vladimir Kladov   (2006-06-10 18:59) [8]

Creation order в VCL, на генерацию кода в MCK не влияет. Влияет: TabOrder и Align. (Хорошо бы свой CreationOrder сделать, но сейчас заняться этим некогда. Если кто возьмется. Опять же, MVK только до Delphi7, а дальше - только без него, так что опять особого смысла нет).



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

Форум: "KOL";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.042 c
15-1170648194
Slider007
2007-02-05 07:03
2007.02.25
С днем рождения ! 4 февраля


15-1170451847
votija
2007-02-03 00:30
2007.02.25
SQL файла и PHP


2-1170682880
Legolas
2007-02-05 16:41
2007.02.25
Чтение файла


2-1170741914
fisherman
2007-02-06 09:05
2007.02.25
ODBC


11-1148658085
Kealon
2006-05-26 19:41
2007.02.25
FontDialog





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский