logo->LoadFromFile (GetStringName(Application->ExeName,0)+"\\img\\logo.bmp");
left_m->LoadFromFile (GetStringName(Application->ExeName,0)+"\\img\\left_menu.bmp");
bmp->LoadFromFile (GetStringName(Application->ExeName,0)+"\\img\\fon.bmp");
DecoderBase();
ADOTable1->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+"data.dat;Persist Security Info=False";
ADOTable2->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+"data.dat;Persist Security Info=False";
ADOTable3->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+"data.dat;Persist Security Info=False";
ADOTable4->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+"data.dat;Persist Security Info=False";
ADOTable5->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+"data.dat;Persist Security Info=False";
ADOQuery1->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+"data.dat;Persist Security Info=False";
ADOQuery2->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+"data.dat;Persist Security Info=False";
ADOTable1->Active = true;
ADOTable2->Active = true;
ADOTable3->Active = true;
ADOTable4->Active = true;
ADOTable5->Active = true;
Form1->WindowState = wsMaximized;
ChDir(GetStringName(Application->ExeName,0));
int sek = 0;
if (ADOTable4->FieldByName("email")->AsString == "1"){
mail_ = true;
rassilka[sek] = "Эллектронная";
manager[sek] = "email"; sek++;
} else mail_ = false;
if (ADOTable4->FieldByName("pochta")->AsString == "1"){
pochta_ = true;
rassilka[sek] = "По почте";
manager[sek] = "mail"; sek++;
} else pochta_ = false;
if (pochta_ == false && mail_ == false) Button14->Visible = false;
// Button1Click(NULL);
CppWebBrowser1->SetFocus();
DoubleBuffered = true;
int j = 0;
ADOTable5->First();
AnsiString pole_menu;
while (!ADOTable5->Eof){
pole_menu = ADOTable5->FieldByName("администрация")->AsString;
if (pole_menu!="") administration[j] = pole_menu;
pole_menu = ADOTable5->FieldByName("городской_совет")->AsString;
if (pole_menu!="") gor_svet[j] = pole_menu;
pole_menu = ADOTable5->FieldByName("справка")->AsString;
if (pole_menu!="") spravka[j] = pole_menu;
pole_menu = ADOTable5->FieldByName("левое")->AsString;
if (pole_menu!="") leftmenu[j] = pole_menu;
ADOTable5->Next();
j++;
}
leftm= CreateRoundRectRgn(5,5,(Panel5->Width-5),(Panel5->Height - 5),20,20);
SetWindowRgn(Panel5->Handle,leftm,1);
list->Items->Clear();
Form1->list->Items->Add(html_body0_);
Form1->list->Items->Add(html_top0);
Form1->list->Items->Add(html_body1);
Form1->list->Items->Add(html_body9);
Form1->list->Items->Add(html_body10);
Form1->list->Items->Add(html_body4);
Form1->list->Items->Add(html_body5);
Form1->list->Items->Add(html_body6);
Form1->list->Items->Add(html_body7);
Form1->list->Items->Add(html_body8);
list->Items->Add("<html><body background = 'left_menu.bmp' onselectstart='return false' scroll='yes'>");
for (int l=0;l<=(j-1);l++)
list->Items->Add(AddLeftMenu(leftmenu[l])+"<p><img src='line.gif' border=0><p>");
list->Items->Add("</font></table></body></html>");
list->Items->SaveToFile(path + "left_menu.html");
CppWebBrowser3->Navigate(Variant(path + "left_menu.html"),NULL,NULL,NULL,NULL);
SetNormalDroppedWidth(ComboBox1);
/*копируем карты*/
FileListBox1->Directory = GetStringName(Application->ExeName,0) + "\\manager\\img";
FileListBox1->Mask = "*.jpg";
for (int i = 0;i<=(FileListBox1->Items->Count-1);i++){
AnsiString path1 = FileListBox1->Directory + "\\" + FileListBox1->Items->Strings;
if (!FileExists(path_map + FileListBox1->Items->Strings))
CopyFileA(path1.c_str(), String(path_map + FileListBox1->Items->Strings).c_str(), 0);
}
FileListBox1->Mask = "*.*";
Form1->Caption = ADOTable4->FieldByName("caption")->AsString;
Проблема с ADO под win98
У меня программа использует связь с базой акцесс с помощью технологии ADO.... после омпиляции программа свободно идет под XP, но при запуске программы под WIndows 98... вызывает фатальную ошибку и закрываеться...
я слышал что есть проблема технологии ADO с Windows98..
и по этому грешу на нее.....
ктонить сталкивался с этой проблемой и как ее решить?
если надо что то поставить под 98 то дайте линку где можно поискать?
У меня программа использует связь с базой акцесс с помощью технологии ADO.... после омпиляции программа свободно идет под XP, но при запуске программы под WIndows 98... вызывает фатальную ошибку и закрываеться...
я слышал что есть проблема технологии ADO с Windows98..
и по этому грешу на нее.....
ктонить сталкивался с этой проблемой и как ее решить?
если надо что то поставить под 98 то дайте линку где можно поискать?[/QUOTE]
Если предполагается запуск под Win9x - то стоит учитывать что по архитектуре это разные системы - я компилировал проект под WinNT5 и под Win9x по отдельности. Вероятно существует более изящное решение - лично я его даже не искал. Естественно это возможно сделать если программа не использует операционно-специфических решений - типа прав доступа и т.д. В противном случае #ifdef ... #endif и прочие не очень хорошие решения.
Если считаешь нужным все же найти решение - проверь версии библиотек, которые использует программа, на ХР и на 98 - возможно удасться их обновить до нужной версии, и - может быть - программа заработает. (Не забудь предварительно сделать бекап и загрузочный диск)
DSN файлом, и каждый раз при настройке приложения корректировать этот самый DSN файл в конкретной ОС.
DSN файлы для каждой конкретной ОС могут быть отличны, и делать один универсальный, а потом каждый раз при переносе программы
корректировать строки DSN файла - ограничивать совместимость программы-СУБД с различными версиями Windows.
Лучше, если в TMainMenu вашей СУБД будет пункт настройки, через
которые будет возможно создание DSN файла с помощью стандартного
инструмента Windows - ODBCAD32.
ActiveX Data Objects - очень мощный инструмент позволяющей СУБД
быть нечувствительной к физической части БД в том числе и к
"полигонному" Access. Хорошо сделанные СУБД, где доступ к БД реализован через ADO совместимы c MS SQL Server, DBASE, Access, Visual FoxPro, Paradox, Excel... на различных Windows
Все это работает.
Незнаю я делал через ADO, прекрасно работает и в Win98. Никаких проблем!
Мои 5 копеек. Обнови ADO (
1) Самый простой способ это действительно закомпилить под разными виндами... так скорей всего и сделаю
2) Этот проект будет распространятся на дисках.... и никаждый сможет редактировать этот конфиг.файл...(извините если чтото не верно понял)
3) Я вычитал что надо обновить версию, как посоветовал мне - Plisteron, я скачал версию 2,8.... но не помагло :(
Спасибо за помощь!
самое главное что программа запускается, но как доходит до определеного момента выдает ошибку вот где то в этом коде:
Код:
просто не понимаю где тут и что может выдавать ошибку кроме как ADO
и главное выдает ошибку то не ссылаясь там на сторонние библиотеки...
Ошибка при читении по адресу бла-бла-бла.....
и про kernel32.dll заикается что то там....
просто на самом деле проблематично оказалось найти компьтер с Windows98.... да и поставить пока некуда! :(
заранее спасибо!