![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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, результат тот же самый. Но самое интересное что данная конструкция у меня работала - окрываю старый юнит (где работало) компилирую, запускаю -"Ошибка при выполнении приложения-сервера" не пойму в чем дело :(