С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 128

Подключиться к БД при загрузке формы через *.ini файл

07.01.2015, 16:16. Показов 1818. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! В папке с .ехе файлом программы создал файл Config.ini, прописал в нем:
Code
1
2
3
[Base]
#path=127.0.0.1:C:\DataBaseTestConnect\WORK201_A.GDB
path=C:\DataBaseTestConnect\WORK201_A.GDB
Теперь пытаюсь при создании формы, подключиться по этому адресу в *.ini файле.
C++
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
#include <vcl.h>
#pragma hdrstop
#include <inifiles.hpp>
#include "Unit1.h"
#include "Unit2.h"
// ---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
AnsiString path;
TIniFile *FineFile; //Объевление переменной для работы с ini файлом
 
// ---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {
}
 
// ---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender) {
 
    try {
        FineFile = new TIniFile(ExtractFilePath(Application->ExeName) +
            "Config.ini"); подключаюсь к файлу.
           String str=FineFile->ReadString("Base","path",str);
            DataModule2->DatabaseWork201_A->DatabaseName =
                FineFile->ReadString("Base", "path", " ");//считываю с файла данные и передаю в IBDataBase
            FineFile->Free();
            DataModule2->DatabaseWork201_A->Connected = true;
            DataModule2->QueryTabel->SQL->Add("select *from personal");
            DataModule2->QueryTabel->Active = true;
 
 
    }
    catch (...) {
        Application->MessageBox(L"ХЗ!", L"Ошибка", MB_OK);
    }
 
}
// ---------------------------------------------------------------------------
выполнение доходит до строки
C++
1
2
FineFile = new TIniFile(ExtractFilePath(Application->ExeName) +
            "Config.ini")
и выдает ошибку:
First chance exception at $004033EE. Exception class $C0000005 with message 'access violation at 0x004033ee: read of address 0x00000074'. Process Project1.exe (5508)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.01.2015, 16:16
Ответы с готовыми решениями:

Локализовать приложение не через dll файл, а через обычный xml или ini файл
Добрый вечер дамы и господа, у меня возникла такой вопросик. Как можно локализовать приложение Windows Forms не через dll файл а через...

Ошибка при загрузке настроек из ini-файла
помогите решить проблему, у меня есть программа заставка которая отображает аналоговые часы, в настройках два чекбокса, включающие...

Сохрание настроек формы в ini файл
Скажите пожалуйста, как создать и сохранить в ini файл местоположение формы на экране? (с++) Заранее спасибо

6
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636
07.01.2015, 23:17
C++
1
2
TIniFile *FineFile = new TIniFile(ExtractFilePath(Application->ExeName) +
            "Config.ini")
нужно так
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
08.01.2015, 00:34
С чего бы это так нужно? "Можно" и "нужно" - разные вещи. Я что, не могу сначала объявить указатель, а потом его использовать? Могу. Проверил. Работает приведенный в первом посте фрагмент, но, разумеется, это опять я виноват, все всегда не так делаю...
0
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636
08.01.2015, 10:55
да незаметил, зато нашел ошибку
C++
1
2
FineFile = new TIniFile(ExtractFilePath(Application->ExeName) +
            "//Config.ini")
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
08.01.2015, 15:16
Цитата Сообщение от mish_k98 Посмотреть сообщение
зато нашел ошибку
Ошибка - у тебя в последнем посте. ExtractFilePath оставляет разделитель, так что не нужно добавлять его руками, это не ExtractFileDir (кстати, слеши у тебя тоже направлены не в ту сторону, так что даже с ExtractFileDir работать не будет)... Все правильно у ТС-а, еще раз повторяю... Без понятия, почему не работает.
0
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636
08.01.2015, 18:04
да действительно спутал.попробывал у себя - все работает
0
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 128
09.01.2015, 10:54  [ТС]
Если не трудно проект скиньте. Попробовал на другой машине, результат тот же!!! Не хочет коннектить!

Добавлено через 16 часов 45 минут
Блин! Разобрался. Моя ошибка была в том, что мои компоненты для связи с БД были на DataModule. А связаться пытался при создании FormCreate. То есть я так понимаю, сам модуль еще не создан, а я уже пытаюсь подключиться. Перекинул все на DataModuleCreate, подключив библиотеки, и все заработало!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.01.2015, 10:54
Помогаю со студенческими работами здесь

Как сохранить property формы в ini файл?
Здравствуйте! Имею дело с Delphi 6. В процессе работы сохраняю состояние формы в ini файл - это Top, Left, Width, Height. procedure...

Нужно при загрузке формы загружать рандомный беграунд формы
Нужно при загрузке формы загружать рандомный беграунд формы. Все беграунды сохранены в отдельной папке. Пытался сделать сам не очень...

Проверка через ini - файл
Помогите пожалуйста кодом к курсовой, а то скоро сдавать программу человеку и надо реализовать, то что опишу. 1)Необходимо при входе в...

MDI-формы. Максимизация окна при загрузке формы
Товарищи программисты! Случилась следующая проблема: я делаю приложение, использующее MDI-формы. Условия их работы таковы: 1. В один...

Коннект через ini файл с ip сервера
подскажите пожалуйста как можно сделать так чтобы с проектом рядом лежал ini файл с ip (то есть его можно было бы менять) мне просто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru