2013-11-19 1 views
1

Я новичок в VB Dot Net. Я использую ComponentOne True OLE DbGrid в моей форме. Теперь мне нужно добавить значения в мой столбец. Поэтому я пробовал это: TDBGrid1.Columns (14) .ValueItems.Add (новый TrueOleDBGrid80.ValueItem()) TDBGrid1.Columns (14) .ValueItems (2) .Value = 2 Мой код хорошо компилируется и работает. Но когда я пытаюсь запустить exe на клиентской машине, это дает мне ошибку: «Извлечение фабрики COM-класса для компонента с CLSID не удалось из-за следующей ошибки: 8007045a» для указанной выше строки ValueItems.Add(). Пожалуйста, помогите мне. СпасибоИзвлечение фабрики COM-класса для компонента с CLSID не удалось из-за следующей ошибки: 8007045a

+0

Это ошибка Windows, 1114 = ERROR_DLL_INIT_FAILED. DLL, которую вы используете, возвращает FALSE из точки входа DllMain(). Он недоволен чем-то, чего невозможно угадать. Посмотрите в журнале событий Windows более подробное диагностическое сообщение. Если вы не видите одного (вероятно) или не можете понять, что он говорит, вам нужно обратиться к поставщику компонента для поддержки. –

+0

@HansPassant .. Я заглянул в Журналы событий Windows, но я ничего не получил. Я зарегистрировал все мои .ocx-файлы (todg8.ocx, todb8.ocx, xadb8.ocx). Не могу понять проблему. Он появляется только в том случае, когда я использую вышестрочные строки для добавления значений в мои столбцы и когда я прокомментирую строки, которые он выполняет. .. – kishan

+0

@HansPassant .. Также я не могу изменить свойства моей сетки во время разработки .. – kishan

ответ

0

Проблема, похоже, связана с различием в процессоре, на котором было создано и запущено приложение. Вы можете найти соответствующую DLL в следующих местах, использовать ее в своем проекте и посмотреть, решит ли она вашу проблему: 64-разрядная машина: HKEY_CLASSES_ROOT \ CLSID {###} \ InprocServer32 32-разрядная машина: HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Classes \ CLSID {###} \ InprocServer32.

Несколько больше suggetions можно найти по следующим ссылкам:

How to repair COMException error 80040154?

Retrieving the COM class factory for component with CLSID {XXXX} failed due to the following error: 80040154 VB.net

С уважением, мохита

0

Попробуйте перерегистрировать TdbGrid8 из командной строки: regsvr32 C: pathtdbg8 .ocx Спасибо, Richa

Смежные вопросы

 Смежные вопросы