IBDatabase1->DatabaseName = КАК ???
задать имя БД для TIBaDatabase. Пробовал вот так:
1) DataModule1->IBDatabase1->DatabaseName = (char *)Ansi_String.data();
2) DataModule1->IBDatabase1->DatabaseName = Ansi_String.c_str();
Оба варианта вызывают Access Violation 8-((
И еще вопрос:
Так-как в проекте есть ДатаМодуль, то последовательность событий
такая: (распихал везде по событиям ShowMessage 8-))
1) OnCreate Main Form
2) Before Connect DataBase //??????? А ведь ДатаМодуль со всеми компонентами
3) After Connect DataBase //??????? еще не создан по идее
4) On Create DataModule //???????
5) On Show MainForm
Вопрос такой:
1) Где ( в каком месте) лучше задавать имя базы данных и как ?
2) Как задавать параметры ее-же ??
3) Может примерчик где есть ?
Весьма на Вас надеюсь.
Оба варианта вызывают Access Violation 8-((
Гм. А просто Ansi_String?
Гм. А просто Ansi_String?
Несовпадение типов.
Несовпадение типов.
Лечишь... Вот только что присвоил:
IBDatabase1->CreateDatabase();
Лечишь... Вот только что присвоил:
IBDatabase1->CreateDatabase();
Мдя ?
edDatabaseName->Text
А вот эта стрелочка в этой конструкции тебе ни о чем не говорит ? И еще надо посмотреть какому классу принадлежит твой edDatabaseName ?
Мдя ?
И еще надо посмотреть какому классу принадлежит твой edDatabaseName ?
TEdit т. е. как сказал Freeman AnsiString.
Господа ! Объясните как правильно нужно в РеалТайме
задать имя БД для TIBaDatabase. Пробовал вот так:
Вопрос такой:
1) Где ( в каком месте) лучше задавать имя базы данных и как ?
2) Как задавать параметры ее-же ??
3) Может примерчик где есть ?
Весьма на Вас надеюсь.
Ты на всякий случай проверяй - существует ли дата модуль в момент присвоения имени базы данных? А создавать лучше - дата модуль - в конструкторе формы. А создавать компонент и присваивать параметры лучше присваивать паблик-функцией. И создать свойство позволяющее проверить - создана ли база.
TEdit т. е. как сказал Freeman AnsiString.
Мдя ...
Читаю хелп:
>TCustomEdit::Text (это раз)
Далее:
__property TCaption Text = {read=GetText,... (это два)
> typedef Widestring TCaption; (это три)
Т.Е. Widestring уже сам по себе класс, и спускаться можно наверное долго...
Теперь класс TIBDatabase:
property DatabaseName: String;
Мне так кажется, что WideString && String несколько разные вещи... Или я не прав ?
> typedef Widestring TCaption; (это три)
Хы-хы-хы! С этого-то и начинать надо было! Где вы такие компоненты откопали? tnt или .NET?
Ты на всякий случай проверяй - существует ли дата модуль в момент присвоения имени базы данных?
Кстати, не подскажешь как
(к стыду своему признаю, что в расширениях С++
типа ON... IN не силен... )
Фрагментик не кинешь ?
Хы-хы-хы! С этого-то и начинать надо было! Где вы такие компоненты откопали? tnt или .NET?
Пользую родные IBExpress , которые с С++Build v.6
За ФибПлюс буржуи денег просят, а мне для дипломного, т.е. на 1 раз (диплом кстати не мой, я просто негром оказался....) 8-))
Хы-хы-хы! С этого-то и начинать надо было! Где вы такие компоненты откопали? tnt или .NET?
Пользую родные IBExpress , которые с С++Build v.6
За ФибПлюс буржуи денег просят, а мне для дипломного, т.е. на 1 раз (диплом кстати не мой, я просто негром оказался....) 8-))
Кстати, не подскажешь как
(к стыду своему признаю, что в расширениях С++
типа ON... IN не силен... )
Фрагментик не кинешь ?
: TForm(Owner)
{
dmDataModule = new TdmDataModule(this);
dmDataModule->SetDBParam("server","database","user","pass","codirovka");
}
это примерно так может выглядеть примерно, сейчас конец рабочего дня, подробно расписывать времени нет. Если до завтра терпит - у меня гдето лежал проект с формами и датамодулями под фипсы, могу скинуть.
При работе с датамодулем кстати важно или сразу в конструкторе установить параметры базы с которыми она может подключится или создавать ее динамически в конструкторе через нью - я по меньшей мере с подобными боками сталкивался.
До завтра терпит однозначно....
Дипло в конце месяца....
Перейдем в мыло ? ПЛЗ.
мой е-мэйл: mailto:TitGen@yandex.ru
WellCome.
Пользую родные IBExpress , которые с С++Build v.6
Строчку кода посмотри перед моим сообщением. Где в IBExpress TCaption?
Мдя ...
Читаю хелп:
>TCustomEdit::Text (это раз)
Далее:
__property TCaption Text = {read=GetText,... (это два)
> typedef Widestring TCaption; (это три)
Т.Е. Widestring уже сам по себе класс, и спускаться можно наверное долго...
Теперь класс TIBDatabase:
property DatabaseName: String;
Мне так кажется, что WideString && String несколько разные вещи... Или я не прав ?
Про стрелочку: - Я тебе ясно сказал TEdit, у него св-во Text типа AnsiString и унаследовал он его от TControl. И в каком хелпе Ты все это вычитал да еще и про TCustomEdit??? Ну если только есть разница между VCL в BCB5(у меня) и BCB6(у тебя). В любом случае Я это делал и на 6-ке + IBX5.X и на 5-ке + IBX4.X и на 5-ке + IBX5.x.
Про стрелочку:
Блин, а мне все-таки интересно, в каких компонентах (и на какой платформе) TCaption является WideString'ом? Неужели CLX?
Блин, а мне все-таки интересно, в каких компонентах (и на какой платформе) TCaption является WideString'ом? Неужели CLX?
Давайте разбираться...
1) Кидаю на форму Edit1::Tedit
2) Хмотрю свойство Text and press magic key F1
3) Look at монитор (короче), далее дословно (из буфера обмена):
CLX Reference
------------------
TCustomEdit::Text
Specifies the text string that is displayed in the edit box.
__property TCaption Text = {read=GetText, write=SetText, nodefault};
--------
Description
Use the Text property to read the text of the edit box
or specify a new string for the Text value. By default,
Text is the string specified in the Name property.
ПРОШУ заметить, тип таки TCaption...
4) Жмем на эту ссылочку TCaption и получаем след хелп:
CLX Reference
-----------------
TCaption type
The type of the Caption property.
Unit
QTypes
typedef Widestring TCaption;
Description
TCaption is the string that represents the caption
or text of a control.
И что у меня, Строитель тоже не как у людей ?
Мда, кстати строитель 6_ой версии
И что у меня, Строитель тоже не как у людей ?
Мда, кстати строитель 6_ой версии
Да нет как у людей, само свойство Техт вполне может иметь тип WS - ничего страшного здесь нет. Иначе была бы не возможна работа с японскими символами например. Ты не забывай что Техт - это свойство, а доступ к нему обеспечивается Get-SetText. И при желании можно возращать хоть char*(например) - но остановились на AS...:)
Так что никаких проблем с получением имени базы с текста эдита быть никак не должно.
Давайте разбираться...
1) Кидаю на форму Edit1::Tedit
2) Хмотрю свойство Text and press magic key F1
3) Look at монитор (короче), далее дословно (из буфера обмена):
CLX Reference
------------------
TCustomEdit::Text
Specifies the text string that is displayed in the edit box.
__property TCaption Text = {read=GetText, write=SetText, nodefault};
--------
Description
Use the Text property to read the text of the edit box
or specify a new string for the Text value. By default,
Text is the string specified in the Name property.
ПРОШУ заметить, тип таки TCaption...
4) Жмем на эту ссылочку TCaption и получаем след хелп:
CLX Reference
-----------------
TCaption type
The type of the Caption property.
Unit
QTypes
typedef Widestring TCaption;
Description
TCaption is the string that represents the caption
or text of a control.
И что у меня, Строитель тоже не как у людей ?
Мда, кстати строитель 6_ой версии
Ключевая фраза CLX Reference
Да нет как у людей, само свойство Техт вполне может иметь тип WS - ничего страшного здесь нет. Иначе была бы не возможна работа с японскими символами например. Ты не забывай что Техт - это свойство, а доступ к нему обеспечивается Get-SetText. И при желании можно возращать хоть char*(например) - но остановились на AS...:)
А вот это уже полнейшая мура, по всем пунктам. Как сказали ниже, ключевое слово здесь - CLX. Чел просто не знает, чем CLX от VCL отличается.
Работа с японскими символами возможна и в однобайтовой кодировке (Shift-JIS), если есть соответствующая поддержка со стороны Windows (а в японской версии Windows она есть).
Ну, а написание программ под CLX, в том числе и использование Юникод-строк вместе с обычными компонентами - отдельная и большая глава в программировании под Дельфи/Билдер. В Билдере немного сложнее, зато контроля больше - все преобразования Wide/Ansi надо проделывать вручную.
Если хочешь, вечером кину на мыло учебную базу данных (с учебного CD), Там все это есть. Думаю будет полезна не только по этим вопросам
Че вы паритесь вообще? В папке Билдера должен быть демо-проект IBMastApp - там все есть.
Че вы паритесь вообще? В папке Билдера должен быть демо-проект IBMastApp - там все есть.
Демо-проекта нет. 8-))
Тут с хелпом еле-еле строителя нашел.
Вообще-то проблему эту решил. Не могу знать насколько изящно, но решил...
Будем считать эту тему закрытой.