Форум: "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