Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка


МуМу ©   (2003-05-19 12:32:00) 

Написал dll в которой используется Tquery,dbGrid и т.д. при исполнении которой в 1С(есть такой российский продукт) возникает такая ошибка "An error occured while attempting to initialize the BDE"? При использовании ADOQuery все работает нормально. Но хотелось бы конечно все сделать на TQuery. Был совет например определить вышеназванные компоненты в TDataModule.(еще не пробывал ) Вообщем хотелось бы понять в каком направлении копать. Если у кого есть соображения на эту тему поделитесь пожалуйста. Заранее благодарю.


Serginio   (2003-05-19 17:41:00) [1]

TDataaModule обыкновенный не визуальный компонент на который так же как на форму бросаешь свои компоненты. Единственно, что тебе придется вручную его создавать и соответсвенно уничтожать. Не нравится мне эта на АктивеХФорм. Можешь скопировать свои компоненты на нее или всеже использовать родную дельфийную форму.


МуМу   (2003-05-19 17:36:00) [2]

Ну что же попробую... Наверное для начала с TdataModule поразбираюсь. Кстати Serginio у тебя нет случайно примера работы с TdataModule?


Serginio   (2003-05-19 17:21:00) [3]

От себя добавлю работая из ВК с файлами 1С напрямую через курсоры БДЕ никаких проблем не возникало. Ты не добавил, что бдешные компоненты у тебя на АктивеХФорм и должны создаваться вместе с ней.


sniknik   (2003-05-19 17:16:00) [4]

МуМу (19.05.03 16:31)
> Попробую с ехе но че то у меня сомнения что 1С его слопает.
можеш не сомневатся, методы внешнего COM из 1С вызываются.


Serginio   (2003-05-19 16:44:00) [5]

Привет Му-Му. Попробуй использовать не АктивеХФорм а обычную дельфевую форму. Ее можешь перенести из Exe в свою DLL. А лучше отрабатывать через TdataModule.


МуМу   (2003-05-19 16:31:00) [6]

1C - ий в том и проблема.:(
Попробую с ехе но че то у меня сомнения что 1С его слопает.
Ну а вобщем наверное АДО поизучаю:)


sniknik   (2003-05-19 16:11:00) [7]

а хрен его знает, про то что в In-proc ему (BDE) памяти не выделяют это я предположительно, сам то я в основном с ADO работаю и когда под 1C пишу и когда без него.
чтобы знать точно надо пробовать и сравнивать, и еще доки почитать а это куча времени...

и чего не устраивает? в ADO гораздо больше возможностей, а не хочеш изучать то и разници особой между dll и exe нет... даже наоборот exe удобнее методы проще отлаживать, единственное неудобство запустить нужно прежде чем методы из 1С вызывать, а регистрировать проше? (кстати ты не сказал у тебя стандартный или 1С-ский COM).


МуМу   (2003-05-19 14:01:00) [8]

А по другому никак?


sniknik   (2003-05-19 13:22:00) [9]

в ADO есть больше чем в BDE, чего нет легко обходится.

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

> И как его сделать внешним комом:) ?
сделай Exe-ком, почти все, вызовы из 1С как обычно регистрировать (в нем) не надо. будет работать после й первого запуска.


МуМу   (2003-05-19 13:15:00) [10]

И как его сделать внешним комом:) ?


МуМу   (2003-05-19 13:13:00) [11]

Дело в том что я не знаю вообще реаилизованна ли в ADOTQuery
технология(не помню как называется).... :)
Вообщем когда есть большая таблица с индексом и пользователю нужно отобразить данные с этой таблицы то имеет смысл пользователю открыть курсор и фетчить записи по индексу чем отрабатывать и ждать пока отработает весь селект.


sniknik   (2003-05-19 13:07:00) [12]

а как оно сделано (dll к 1С) стандартным COM сервером? или с извращениями от 1С?
там обычно In-proc используется, значит работает в пространстве 1С, что для BDE не есть good (вероятно, памяти меньше чем нужно выдает или еще чего), а ADO 1С-ом поддерживается и ему не нужно инициализироватся это отдельный COM сервер.

почти уверен, сделать внешним комом, и будет работать.


Соловьев   (2003-05-19 12:56:00) [13]


> МуМу (19.05.03 12:32)

странное желание, отказаться от родной технологии MS SQL - ADO, и перейти на BDE...


МуМу   (2003-05-19 12:55:00) [14]

Вообщем то да забыл просто сказать из Delphi все работает нормально. А именно когда запускаю из 1С вот ругается.


b-Ars   (2003-05-19 12:50:00) [15]

а BDE вообще установлено на данной машине? Ведь ADO в винду встроено, а BDE это сторонний продукт


Наверх

Титульная страница Поиск, карта сайта Написать письмо