Страница 1 из 1

Вопрос про вставку через IBSQL->Batchinput и runtime

Добавлено: 15 ноя 2007, 21:10
Barsevich
Назрело со временем у меня 2 вопроса:
1. Как создать в С++ Builder в RunTime компонеты IBDatabase,IBTransaction,IBDataSet ? Конструктор не хочет вызываться, в Delphi все работает.

2. Как в IBSQL пользоваться свойством BatchInput ? Может кто-нибудь пример кинуть ?

Заранее спасибо, удолбался уже... :shock:

Добавлено: 16 ноя 2007, 11:37
WildSery
1. Как пробовал? Какая ошибка? Отсюда не видно.
2. Почитай статью.

Добавлено: 22 ноя 2007, 01:09
Barsevich
1.

Вот код Delphi который работает:

type
<someclass> = class(TThread)
private
...
protected
...
public
bd:TIBDatabase;
tr:TIBTransaction;
query:TIBSQL;
End;

Затем в процедуре:
bd:=TIBDatabase.Create(nil);
tr:=TIBTransaction.Create(nil);

Все работает.

В С++ Builder:
TIBDatabase *db;

db->Create(nil); - не работает
[C++ Error] Unit1.cpp(94): E2316 'Create' is not a member of 'TIBDatabase' - хотя в описании есть
TIBDatabase *db=TIBDatabase.Create(nil); - не работает
[C++ Error] Unit1.cpp(92): E2108 Improper use of typedef 'TIBDatabase'
[C++ Error] Unit1.cpp(94): E2316 'Create' is not a member of 'TIBDatabase'

в Help-e написано:

constructor Create(AOwner: TComponent);

Description
Call Create to instantiate a database component at runtime. An application can create a database component in order to control the component’s existence and set its properties and events.

Но как его вызвать ?

Конструктора TIBDataBase в описании нет. Что создавать надо через оператор new тоже в описании нет.
TIBDatabase *db=new TIBDatabase; - тоже не работает
[C++ Error] Unit1.cpp(92): E2285 Could not find a match for TIBDatabase::TIBDatabase()'
Может он как-то неявно вызывается ?

2. Статью читал. пока ничего полезного для себя не нашел, читаю дальше.

Добавлено: 22 ноя 2007, 01:12
kdv
2. Статью читал. пока ничего полезного для себя не нашел, читаю дальше.
лучше посмотри примеры к BCB на IBX. должны быть такие.

Добавлено: 23 ноя 2007, 16:27
Oliver
А если попробовать так:

TIBDatabase * IBDatabase;

IBDatabase = new TIBDatabase(какой нибудь компонент);