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

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

CreateOleObject + 1Cv77+Vista


DimOk ©   (2007-10-03 16:15:00) 

Добрый день всем. Вопрос по Windows Vista и Delphi 2007 for Win32 от CodeGear. Я пытаюсь создать OLE объект с помощью функции CreateOleObject  следующим образом:
var App1C: Variant;
    result: Variant;
App1C :=  CreateOleObject('V77.Application');
result := App1C.Initialize(App1C.RMTrade,'/DD:\Базы_1C\ /NАдминистратор /Ppass,'NO_SPLASH_SHOW');
И в результате после долгоговыполнения строчки содержащий вызов этой функции, получаю сообщение -"Ошибка при выполнении приложения-сервера". Если же выполнить эту функцию, скажем для Excel.Application - то все проходит нормально. Подскажите пожалуйсто возможна ли работа с 1Сv77  (OLE-сервер) в Vista или может быть существуют другие способы работы с OLE.
За ранее всем благодарен.


DimOk   (2007-10-04 11:48:00) [1]


> Говорить же о "глюках" в ломаных-переломаных дистрибутивах
> можно до бесконечности)

Все официально! Нет ни каких ломаных-переломаных дистр.


Сергей М.   (2007-10-04 11:44:00) [2]

Для начала воспользуйся любой официальноприобретенной версией 1С)

Говорить же о "глюках" в ломаных-переломаных дистрибутивах можно до бесконечности)


DimOk   (2007-10-04 11:44:00) [3]

Поставил 27 релиз - таже песня :(


DimOk   (2007-10-04 11:38:00) [4]


> А что тебе Vista, если у тебя и под ХР те же проблемы ?
>
> Цитирую тебя:

Да да, но возможно у меня и там (на работе) и дома 1с стоит не правильно, а на Windows Server 2003 данный код запускается и работает отлично. Не пойму почему у меня то не получается, а хочется программировать, отлаживать и т.п. программу не перенося ее на другой комп.....


Сергей М.   (2007-10-04 11:35:00) [5]


> в Vista так пробовал делать


А что тебе Vista, если у тебя и под ХР те же проблемы ?

Цитирую тебя:


> попробовал все то же самое на WindowsXP и D7, результат
> тот же самый


DimOk   (2007-10-04 11:21:00) [6]


> Я думал ты про initialize - здесь она шустро должна выполняться.

А ты в Vista так пробовал делать...?


tesseract   (2007-10-04 11:14:00) [7]


> Просто интресно где в этой строчке указывается ИБ.... :)


Я думал ты про initialize - здесь она шустро должна выполняться.


DimOk   (2007-10-04 10:45:00) [8]


> Выполнении строчки реально долгое

App1C :=  CreateOleObject('V77.Application');
Просто интресно где в этой строчке указывается ИБ.... :)

> Только я использую OleVariant как и рекомндуеться

Так я тоже делал, но ругань то на не тип возращаемого значения, а на само приложение - сервер


DimOk   (2007-10-04 10:39:00) [9]


> Под Vista работает ТОЛЬКО 27 релиз со скошенной сортировкой.

25 у меня запускается, но только ручками.... :) и ссистемными настройками. Спасибо. Будем искать 27


tesseract   (2007-10-04 10:35:00) [10]


> версия движка 7.70.025 и компонента УРБД.


У меня такой код стабильно работает от 21 до 27 релиза. Никаких проблем. Только я использую OleVariant как и рекомндуеться. Выполнении строчки реально долгое - и зависит от размеров базы. А если ошибка так ещё и реиндексация пойдёт. Под Vista работает ТОЛЬКО 27 релиз со скошенной сортировкой.


DimOk   (2007-10-04 10:30:00) [11]

Не выходит каменный цветок что то ...... :(


DimOk   (2007-10-04 10:12:00) [12]


> GetActiveOleObject()

Призапущенном 1С возврощает nil. Но я попробовал запустить прогу на другой машине, там 1с запускается :) Но там стоит версия движка 7.70.025 и компонента УРБД. Сейчас попробую поставить это все себе и запустить программу снава.


Сергей М.   (2007-10-04 10:06:00) [13]


> видимо что то с 1С


Да, скорее всего так.

Попробуй вручную запустить 1С и попытаться законнектиться к нему вызовом GetActiveOleObject().


DimOk   (2007-10-04 09:45:00) [14]


> Возможно что-то неладно с правами доступа к базе.
> Попробуй перед вызовом Initialize() сделать видимым окно
> одноэсины (App1C.Visible = True), возможно ты увидишь окно
> с сообщением об ошибке, что прояснит ситуацию

Дело в том что не выполняется:
App1C :=  CreateOleObject('V77.Application');
На этом этапе вылетает ошибка. Попробовал на VBA сделать то же самое, наверное тут дело не в среде программирования и не в ошибке вызова функции, видимо что то с 1С :)


Сергей М.   (2007-10-04 09:39:00) [15]

Возможно что-то неладно с правами доступа к базе.
Попробуй перед вызовом Initialize() сделать видимым окно одноэсины (App1C.Visible = True), возможно ты увидишь окно с сообщением об ошибке, что прояснит ситуацию


DimOk   (2007-10-04 09:24:00) [16]

Пришел вечером домой и попробовал все то же самое на WindowsXP и D7, результат тот же самый. Но самое интересное что данная конструкция у меня работала - окрываю старый юнит (где работало) компилирую, запускаю -"Ошибка при выполнении приложения-сервера" не пойму в чем дело :(


Наверх

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