Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Подключение к *.db и *.dbf через ADO / 24 сообщений из 24, страница 1 из 1
22.12.2005, 13:31
    #33451895
Basileus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Помогите, пожалуйста, разобраться. Мне нужен способ подключения к таблицам db и dbf. Понятно как это сделать через прописанный dsn. Но мне надо подключаться напрямую к файлам. Путь к файлу выдает другой компонент.
Как должна выглядеть ConnectionString для такого случая?
...
Рейтинг: 0 / 0
22.12.2005, 13:46
    #33451938
_Балтика
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
BasileusПомогите, пожалуйста, разобраться. Мне нужен способ подключения к таблицам db и dbf. Понятно как это сделать через прописанный dsn. Но мне надо подключаться напрямую к файлам. Путь к файлу выдает другой компонент.
Как должна выглядеть ConnectionString для такого случая?

???
Непонятно...
Способов много. Ты чем хочешь пользоваться?
...
Рейтинг: 0 / 0
22.12.2005, 14:46
    #33452170
Basileus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Я хочу подрубиться через COM к ADODB, создать объект Connection и далее по списку. Я никак не могу понять, как через Connection соединение установить без использования dsn прописанного в ODBC
...
Рейтинг: 0 / 0
26.12.2005, 09:15
    #33456694
Basileus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Господа.
Может все же хоть кто-нибудь подскажет общее направление решения проблемы. Надо подключаться к файлам db и dbf, имея только местонахождение файла.
Для dbf в принципе можно вручную написать, но как показывает мой опыт - там куча разных вариантов и время от времени попадаются файлы которые хрен откроешь по обычной схеме, тогда как через вьюеры они читаются.
Хочется использовать какой-нибудь стандартный проверенный механизм типа ADO...
...
Рейтинг: 0 / 0
26.12.2005, 09:51
    #33456754
_Балтика
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Если в .NET, то может вот это поможет?..
...
Рейтинг: 0 / 0
26.12.2005, 11:08
    #33456927
Alex_VC
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
BasileusЯ хочу подрубиться через COM к ADODB, создать объект Connection и далее по списку. Я никак не могу понять, как через Connection соединение установить без использования dsn прописанного в ODBC
Используй при открытии Connection строку подключения, типа: "Provider=MSDASQL;Driver=Microsoft dBase Driver(*.dbf) ;DBQ=c:\\mytable.dbf" ну и тд и тп...
...
Рейтинг: 0 / 0
26.12.2005, 13:40
    #33457402
Basileus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
ASP-скрипт при попытке протестировать строки подключения типа "Provider=MSDASQL;Driver=Microsoft dBase Driver(*.dbf) ;DBQ=c:\\mytable.dbf" ругается следующим образом:
[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию
/tester/tester1.asp, line 11
...
Рейтинг: 0 / 0
26.12.2005, 17:27
    #33458033
alex83_sql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Да єто очень просто чувак. Смотри вот строка подключения.

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DB;Extended Properties=DBASE III"

Вот тебе мой пример:

::CoInitialize(NULL);

try
{
_ConnectionPtr con("ADODB.Connection");

con->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DB;Extended
Properties=DBASE III","","",0);

_RecordsetPtr rset("ADODB.Recordset");
rset->Open("D:\\Table1.dbf",
(IDispatch*)con,
adOpenDynamic,
adLockOptimistic,
adCmdTable);

FieldsPtr m_Set = rset->Fields;

rset->MoveFirst();
AfxMessageBox(_bstr_t(m_Set->Item[L"Name"]->Value));

rset->Close();
con->Close();
}

catch (_com_error& e)
{
GenerateError(e.Error(),e.Description());
}

::CoUninitialize();
...
Рейтинг: 0 / 0
27.12.2005, 10:14
    #33458745
Basileus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Ну ни в какую не прокатывает у меня такая строка подключения.
Делаю системный dsn и использую его, вот так примерно:

Код: plaintext
1.
2.
3.
4.
    hr = pConn->Open(L"alat",L"",L"", 0 );
    if ( FAILED( hr ))
    	throw myExcept("Failed to open connection");
    else
        message("connection opened successfully");

- connection открывается, но это не то, что мне надо...
...
Рейтинг: 0 / 0
27.12.2005, 10:36
    #33458816
Alex_VC
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Странно, на VC++ 6.00 без DSN работает...
В указанной строке подключения есть небольшая неточность, а именно:
вместо Driver=Microsoft dBase Driver(*.dbf) ;
надо бы Driver={Microsoft dBase Driver(*.dbf) };
можно указать еще DefaultDir= c:\ (короче каталог, где у тебя таблицы лежат)
...
Рейтинг: 0 / 0
27.12.2005, 10:58
    #33458901
Basileus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Ну я исходно работаю в C++Builder, хотя скрипт в конечном итоге должен работать на левом серваке через cgi.
Я уже перебробовал туеву хучу всяких вариантов. В итоге заработало вот это:

L"Provider=MSDASQL.1;Extended Properties=\"DBQ=D:\\;DefaultDir=D:\\;Driver={Microsoft dBase Driver (*.dbf)};\""

Почему именно так - в упор не догоняю. Сейчас буду пробовать на серваке...
...
Рейтинг: 0 / 0
27.12.2005, 11:14
    #33458947
Basileus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Ага. А вот это уже не пашет:

L"Provider=MSDASQL.1;Extended Properties=\"DBQ=D:\\;DefaultDir=D:\\;Driver={Microsoft Paradox Driver (*.db)};\""
...
Рейтинг: 0 / 0
27.12.2005, 15:14
    #33459784
pandrew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
простой способ быстро построить и проверить строку соединения:
1)создай пустой файл с расширением udl (например в блокноте)
2)кликни по нему мышкой
3)дальше не забывай "проверить соединение"

в файле udl будет сохраняться строка соединения - ее надо подсунуть как ConnectionString с учетом ограничений C++
...
Рейтинг: 0 / 0
28.12.2005, 11:39
    #33461380
Basileus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Со строками подключения разобрался наконец-то. Есть чудесный ресурс: www.connectionstrings.com
Вроде как там все строки подключения рабочие приведены.

Только сразу воткнулся в другую дурацкую проблему. Как в C++Builder засунуть sql-строчку в метод recordset.Open? В библиотеке типов он описан как:
Код: plaintext
1.
2.
3.
4.
  virtual HRESULT STDMETHODCALLTYPE Open(VARIANT Source/*[in,opt]*/, 
                                         VARIANT ActiveConnection/*[in,opt]*/, 
                                         Adodb_tlb::CursorTypeEnum CursorType/*[in,def,opt]*/, 
                                         Adodb_tlb::LockTypeEnum LockType/*[in,def,opt]*/, 
                                         long Options/*[in,def,opt]*/) =  0 ; // [ 1022 ]
Вот такую штуку он брать не хочет, вернее берет, но таблицу не открывает...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
    VARIANT Source;
    Source.vt = VT_BSTR;
    Source.bstrVal = L"members.db";
    VARIANT Connection;
    Connection.vt = VT_DISPATCH;
    Connection.pdispVal = (IDispatch*)pConn;
    if ( FAILED( hr ))
    	throw myExcept("Failed to retrieve IDispatch from connection");

    hr = pRs->Open(Source, Connection,  0 ,  0 ,  0 );

В msdn подробности не описаны и пример там через VC++...
...
Рейтинг: 0 / 0
29.12.2005, 07:23
    #33463326
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
BasileusСо строками подключения разобрался наконец-то. Есть чудесный ресурс: www.connectionstrings.com
Вроде как там все строки подключения рабочие приведены.

Только сразу воткнулся в другую дурацкую проблему. Как в C++Builder засунуть sql-строчку в метод recordset.Open?
А что, справки по С++Билдеру нет? Или ты хочешь на чистом API писать?
Вообще-то это делается так (если создавать необходимые компоненты динамически, а не "набрасывать на форму"):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
TADODataSet *rs = new TADODataSet(NULL);
TADOConnection *con=new TADOConnection(NULL);
con->ConnectionString=bla-bla-bla;
....
con->Open();
....
rs->Close();
rs->Connection=con;
rs->CommandText="mydata.db";
rs->CommandType=cmdTable;
rs->Open();
...
...
Рейтинг: 0 / 0
29.12.2005, 07:36
    #33463332
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
В дополнение - цитата из Билдеровкого хелпа:
[quote]
Provides direct access to the ADO recordset object.

typedef System::DelphiInterface< _Recordset > _di__Recordset;
__property _di__Recordset Recordset = {read=FRecordsetObject, write=SetRecordset};

Description

Recordset is the interface through which the records of an ADO dataset are accessed.

Use Recordset to get direct access to the ADO recordset object the dataset component represents. This direct access reference allows an application to use properties and methods of the underlying recordset object. Accessing the underlying recordset object is especially useful for utilizing properties and methods of the recordset object not surfaced in ADO dataset components.

Ordinarily, an application would seldom need to access the underlying recordset object directly. One situation that would use such access is directing the recordset produced by the execution of a TADOCommand component. In these situations, assign the recordset returned by the TADOCommand::Execute method directly to the Recordset property.

ADODataSet1->Recordset = ADOCommand1->Execute();

Note: Use of CommandObject to directly access the underlying ADO command object requires a good working knowledge of ADO objects in general and the ADO command object in specific. It is not recommended that you use the command object directly unless familiar with command object operations. Consult the Microsoft Data Store SDK help for specific information on using ADO command objects.[/quote]
...
Рейтинг: 0 / 0
29.12.2005, 10:12
    #33463542
Basileus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Станислав C.А что, справки по С++Билдеру нет? Или ты хочешь на чистом API писать?


У меня проблема несколько более эзотерическая. Приложение мне нужно для веба, чтоб работало через cgi и стандартный поток вывода. Соответственно обычный оконный билдерный проект отпадает, остается консолька. А туда я никак не могу ничего похожего на
Код: plaintext
1.
TADODataSet *rs = new TADODataSet(NULL);
TADOConnection *con=new TADOConnection(NULL);
засунуть. Компилятор требует Owner'а. Поэтому я использую стандартный ADO через COM, а не внутренние билдеровские компоненты.
...
Рейтинг: 0 / 0
29.12.2005, 11:07
    #33463713
Alex_VC
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
BasileusСо строками подключения разобрался наконец-то. Есть чудесный ресурс: www.connectionstrings.com
Вроде как там все строки подключения рабочие приведены.

Только сразу воткнулся в другую дурацкую проблему. Как в C++Builder засунуть sql-строчку в метод recordset.Open? В библиотеке типов он описан как:
Код: plaintext
1.
2.
3.
4.
  virtual HRESULT STDMETHODCALLTYPE Open(VARIANT Source/*[in,opt]*/, 
                                         VARIANT ActiveConnection/*[in,opt]*/, 
                                         Adodb_tlb::CursorTypeEnum CursorType/*[in,def,opt]*/, 
                                         Adodb_tlb::LockTypeEnum LockType/*[in,def,opt]*/, 
                                         long Options/*[in,def,opt]*/) =  0 ; // [ 1022 ]
Вот такую штуку он брать не хочет, вернее берет, но таблицу не открывает...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
    VARIANT Source;
    Source.vt = VT_BSTR;
    Source.bstrVal = L"members.db";
    VARIANT Connection;
    Connection.vt = VT_DISPATCH;
    Connection.pdispVal = (IDispatch*)pConn;
    if ( FAILED( hr ))
    	throw myExcept("Failed to retrieve IDispatch from connection");

    hr = pRs->Open(Source, Connection,  0 ,  0 ,  0 );

В msdn подробности не описаны и пример там через VC++...
А что за нули в конце:
pRs->Open(Source, Connection, 0, 0, 0 ) ?

В VC++ 6.00 можно так:
Код: plaintext
spRs->Open(_variant_t(szQuery),_variant_t(static_cast<IDispatch *>(spCon),true), ado20::adOpenStatic,ado20::adLockReadOnly,ado20::adCmdText)
где szQuery- sql-запрос (например, L"select * from members").
spCon - указатель на соединение
Просто с таблицами не работал (в основном запросы), но если подставить последний параметр (ado20::adCmdText) как ado20::adCmdTable, то szQuery я думаю можно представить как L"members" и должна открыться таблица
...
Рейтинг: 0 / 0
29.12.2005, 12:47
    #33464095
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Basileus Станислав C.А что, справки по С++Билдеру нет? Или ты хочешь на чистом API писать?


У меня проблема несколько более эзотерическая. Приложение мне нужно для веба, чтоб работало через cgi и стандартный поток вывода. Соответственно обычный оконный билдерный проект отпадает, остается консолька. А туда я никак не могу ничего похожего на
Код: plaintext
1.
TADODataSet *rs = new TADODataSet(NULL);
TADOConnection *con=new TADOConnection(NULL);
засунуть. Компилятор требует Owner'а. Поэтому я использую стандартный ADO через COM, а не внутренние билдеровские компоненты.
Вот тебе пример... Но заметь - на форму я компоненты не выкладывал, а создавал их динамически в консоли!!! Естественно, что при создании проекта я выбрал проект типа Console Application, а затем немного его подправил ( некоторые параметры в файле *.bpr + "заголовок" main-функции), чтобы оно стало "истинно" Win32 Application.
Приложение работает "на ура" и его видно разве что на панели задач (в свернутом виде)...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
//Unit1.h
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <ADODB.hpp>   //For ADO components
#include <inifiles.hpp> //for working with ini-files

//---------------------------------------------------------------------------
//Global variables definition
 TADOConnection *ADOConnection1,*ADOConnection2;
 TADOQuery      *ADOQuery1;
 TADOQuery      *ADOQuery2;
 TADOQuery      *ADOQuery3;
 TADOCommand    *ADOCommand1;
 TADODataSet    *ADODataSet1,*ADODataSet2,*ADODataSet3;
 TStringList    *ListBox2;

 int err= 0 ; //error flag
 int logFileHandle;
 int rezult,GlobalRecCount;
 AnsiString OutputText,data;
 AnsiString User,Pass;

//Functions definition
 void Analize(int i);
 void __fastcall Cloze();
 AnsiString Decode(AnsiString Stroka);
 void __fastcall Connect(AnsiString Parameter);
 void Support();
 void SaveResults(AnsiString Filial,int Records,int logFileHandle);
 AnsiString WinToDOS(AnsiString Stroka);
 void __fastcall LoadInform();
 void Convert(AnsiString Black, AnsiString White);
 int Check(AnsiString TableName,int Mode);
 void UpLoad();
 int Upload_w();
 int Upload_b();
 int Check_up();
//---------------------------------------------------------------------------
#endif

//Unit1.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#include <shellapi.h>
#include <graphics.hpp>
#include "Unit11.h"
#include <wstring.h>
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
//Global settings
int KolUsl,Records;
bool LinkExistsFlag=false;
bool WhiteList=false;

WINAPI WinMain(HINSTANCE handle, HINSTANCE phandle, LPSTR commandline, int showparm)
//int main(int argc, char* argv[])
{
//Начальные установки
 int index,pos;
 AnsiString Parameter;
 int Mode;
 Application->Initialize();
 Parameter=AnsiString(commandline);
 Parameter=Parameter.UpperCase();
 ShowWindow(Application->Handle,SW_HIDE);

 Connect(Parameter);
 Analize(index);
 Cloze();
return false;
}
//---------------------------------------------------------------------------
void Analize(int index)
{
 <что-то там>
 return;
}
//---------------------------------------------------------------------------
void __fastcall Cloze()
{
 //Отрабатываем выход из программы
 OutputText="Завершение работы\r\n";
 delete Usl;
 delete PriUsl;
 delete PredUsl;

 if(!ADOQuery1->IsEmpty())
   ADOQuery1->Close();
 ADOQuery2->Close();
 ADOConnection1->Close();
 Application->Terminate();
}
//---------------------------------------------------------------------------
void __fastcall Connect(AnsiString Parameter)
{
 AnsiString path;
 int pos;
 TIniFile *myini;
 Support();
 path=Application->ExeName;
 pos=path.LastDelimiter("\\");
 path=path.SubString( 1 ,pos)+"my.ini";
 myini=new TIniFile(path);
 User=Decode(myini->ReadString("User","Name",""));
 Pass=Decode(myini->ReadString("User","Pass",""));
 StanUser=Decode(myini->ReadString("User","StanUser",""));
 StanPass=Decode(myini->ReadString("User","StanPass",""));
 StanServer=Decode(myini->ReadString("User","StanServer",""));
 delete myini;
...
 ConnStr="Provider=MS Remote;Remote Provider=ORAOLEDB.ORACLE.1;Remote Server=http://хххххххххх.ru;Data Source=ХХХDB;";
 ConnStr+="User ID="+User+"; Password="+Pass+";";

 ADOConnection1->LoginPrompt=false;
 ADOConnection1->ConnectionString=ConnStr;

 try
  {
   //Осуществляем подключение к удаленному источнику данных - серверу БД...
   ADOConnection1->Open();
   ADOQuery2->Open();
  }
catch (Exception &exception)
  {
   err= 1 ;
   OutputText="Ошибка при соединении! Соединение не установлено!\r\n";
   FileWrite(logFileHandle,OutputText.c_str(),OutputText.Length());
   LinkExistsFlag=false;
   return;
  }
 return;
}
//-------------------------------------------------------
void Support()
{
  //А вот здесь я создаю необхзодимые мне ADO-компоненты
 AnsiString ConnStr;
 ADOConnection1=new TADOConnection(NULL);
 ADOQuery1=new TADOQuery(NULL);
 ADOQuery2=new TADOQuery(NULL);
 ADOQuery3=new TADOQuery(NULL);
 ADOCommand1=new TADOCommand(NULL);
 ADODataSet1=new TADODataSet(NULL);
 ListBox2=new TStringList();
 ADOConnection1->Close();

 //Формируем SQL для получения списка отчетов...
 ADOQuery2->Close();
 ADOQuery2->CursorType=ctDynamic;
 ConnStr="Select sysdate from dual ";
 ADOQuery2->SQL->Add(ConnStr);

 ADOQuery1->Connection=ADOConnection1;
 ADOQuery2->Connection=ADOConnection1;
 ADOQuery3->Connection=ADOConnection1;
 ADOCommand1->Connection=ADOConnection1;
 ADODataSet1->Connection=ADOConnection1;
 //ADOConnection1->LoginPrompt=false;
 return;
}
//Остальные функции, описанные в заголовочном файле
...
...
Рейтинг: 0 / 0
29.12.2005, 15:08
    #33464548
Basileus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Станислав C.Вот тебе пример... Но заметь - на форму я компоненты не выкладывал, а создавал их динамически в консоли!!! Естественно, что при создании проекта я выбрал проект типа Console Application, а затем немного его подправил ( некоторые параметры в файле *.bpr + "заголовок" main-функции), чтобы оно стало "истинно" Win32 Application.
Приложение работает "на ура" и его видно разве что на панели задач (в свернутом виде)...

А какие именно параметры надо изменить в файле проекта? Что-то никак не могу скомпилировать...
...
Рейтинг: 0 / 0
30.12.2005, 06:41
    #33465244
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Basileus Станислав C.Вот тебе пример... Но заметь - на форму я компоненты не выкладывал, а создавал их динамически в консоли!!! Естественно, что при создании проекта я выбрал проект типа Console Application, а затем немного его подправил ( некоторые параметры в файле *.bpr + "заголовок" main-функции), чтобы оно стало "истинно" Win32 Application.
Приложение работает "на ура" и его видно разве что на панели задач (в свернутом виде)...

А какие именно параметры надо изменить в файле проекта? Что-то никак не могу скомпилировать...
В том виде, в котором я его привел, это уже "измененный" вариант (функция main заменена на WinMain. При этом ее тело оставлено без изменений (если исключить разбор командной строки вместо массива argv[])).

Параметры которые меняются в файле *.bpr:

- для консольных приложений "a-la DOS" в тегах должны присутствовать:
<LFLAG value="{что-то там} -ap - Tpe {что-то там} />
<ALLOBJ value=" c0x32.obj {что-то там}" />

- для консольных приложений "a-la Windows" в тегах должны присутствовать:
<LFLAG value="{что-то там} -aa - Tpe {что-то там} />
<ALLOBJ value=" c0w32.obj {что-то там}" />

Кроме того, return false в функции WinMain препятствует отрисовке консольного окна на экране, а return true - наоборот...
...
Рейтинг: 0 / 0
30.12.2005, 06:47
    #33465248
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Basileus Станислав C.Вот тебе пример... Но заметь - на форму я компоненты не выкладывал, а создавал их динамически в консоли!!! Естественно, что при создании проекта я выбрал проект типа Console Application, а затем немного его подправил ( некоторые параметры в файле *.bpr + "заголовок" main-функции), чтобы оно стало "истинно" Win32 Application.
Приложение работает "на ура" и его видно разве что на панели задач (в свернутом виде)...

А какие именно параметры надо изменить в файле проекта? Что-то никак не могу скомпилировать...
В дополнение:
Еще должен быть файл *.bpf (он создается автоматом при создании консольного приложения). У меня он выглядит так:
Код: plaintext
1.
2.
3.
4.
5.
6.
//Project1.bpf
USEUNIT("Unit1.cpp");
//---------------------------------------------------------------------------
This file is used by the project manager only and should be treated like the project file


main 
...
Рейтинг: 0 / 0
30.12.2005, 06:55
    #33465253
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Basileus Станислав C.Вот тебе пример... Но заметь - на форму я компоненты не выкладывал, а создавал их динамически в консоли!!! Естественно, что при создании проекта я выбрал проект типа Console Application, а затем немного его подправил ( некоторые параметры в файле *.bpr + "заголовок" main-функции), чтобы оно стало "истинно" Win32 Application.
Приложение работает "на ура" и его видно разве что на панели задач (в свернутом виде)...

А какие именно параметры надо изменить в файле проекта? Что-то никак не могу скомпилировать...
И еще одно:
При создании консольного приложения надо оставить "галочку" на опции "Use VCL"!!!
...
Рейтинг: 0 / 0
30.12.2005, 10:15
    #33465434
Basileus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к *.db и *.dbf через ADO
Ну ни в какую не хочет работать. Постоянно всплывает одно и то же на конструкторе любых компонентов:
Application is not licenced to use this feature
Кажется, перепробовал уже все комбинации...
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Подключение к *.db и *.dbf через ADO / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]