powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Сторонние компоненты .dll .ocx
25 сообщений из 43, страница 1 из 2
Сторонние компоненты .dll .ocx
    #37468338
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем здравствуйте !

Для 7-ки.
Как подключить, загрузить или указать где находиться ?
Нужно в самой 1С работать с этими обьектами

Спасибо.
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37468379
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuВсем здравствуйте !

Для 7-ки.
Как подключить, загрузить или указать где находиться ?
Нужно в самой 1С работать с этими обьектами

Спасибо.

КонецЕсли;

Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll") <> 1 Тогда

ТекстЗагружаемыеДанные = СоздатьОбъект("AddIn.V7TextFile");
Исключение
Сообщить(ОписаниеОшибки());
Предупреждение("Необходимо обновить версию компоненты v7plus.dll !");
СтатусВозврата(0); Возврат;

или смотреть примеры драйверов от атола - очень все понятно. для фискальников. у меня нет с собой
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37468381
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Откликов скажем немного ...
Добавлю, компонент поддерживает технологию OLE,
которую поддерживает и 1С поскольку мне известно.

Выдержка из документации:

If your client environment supports ActiveX controls or COM objects (formerly known as OLE objects)

Спасибо.
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37468383
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одновременно ответили, не успел прочитать сообщение ...
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37468386
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще. Я хочу акцентировать. Это СТОРОННИЙ КОМПОНЕНТ , не 1С-кий !
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37468471
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1C умеет работать со сторонними компонентами:

1. ЗагрузитьВнешнююКомпоненту() - пример вам уже привели
2. С "нормальными" COM-серверами. СоздатьОбъект("Word.Application") и т.д.

вы сво COM-сервера регистрировали regsvr32 .ocx/.dll ?
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37468586
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвы сво COM-сервера регистрировали regsvr32 .ocx/.dll ?

Да.
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37468670
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что тогда не получается?
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37468689
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!И что тогда не получается?

а что должно получиться? кто вообще сказал что в этой dll реализован интерфейс которым 1С общается с внеш. миром.
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37468741
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос для чего и какой платформы эта ДЛЛ написана? и код которым вы к длл обращаетесь из этой среды.
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37468743
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин ПЖThe Dim!И что тогда не получается?

а что должно получиться? кто вообще сказал что в этой dll реализован интерфейс которым 1С общается с внеш. миром.
ТС сказал
ValeriuДобавлю, компонент поддерживает технологию OLE,
которую поддерживает и 1С поскольку мне известно..
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37468973
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuДля 7-ки.
Как подключить, загрузить или указать где находиться ?
Нужно в самой 1С работать с этими объектами
ValeriuИ еще. Я хочу акцентировать. Это СТОРОННИЙ КОМПОНЕНТ , не 1С-кий !
Универсального способа нет, однако для конкретных компонентов можно предложить следующие решения.

Для ADODB:
Код: plaintext
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.
39.
40.
41.
42.
43.
44.
45.
////////////////////////////////////////////////////////////////////////////////
// ПРЕДОПРЕДЕЛЕННАЯ ПРОЦЕДУРА
//******************************************************************************
Процедура ПриНачалеРаботыСистемы()   
  Акцесс = СоздатьОбъект("ADODB.CONNECTION");
  
  Попытка
    СтрокаПодключения = "Driver={Microsoft Access Driver (*.mdb)};Dbq=D:\MyDocs\test.mdb;Uid=Admin;Pwd=";
    Акцесс.Open(СтрокаПодключения);
  Исключение
    Сообщить("Болт! " + ОписаниеОшибки());
    Возврат;
  КонецПопытки;
  
  Команда = СоздатьОбъект("ADODB.Command");
  Команда.ActiveConnection = Акцесс;
  ТекстСелект = "SELECT * FROM Friends";
  НаборЗаписей = СоздатьОбъект("ADODB.RecordSet");
  Команда.CommandText = ТекстСелект;
  
  Попытка
    НаборЗаписей = Команда.Execute;
  Исключение
    Сообщить("Снова Болт!" + ОписаниеОшибки());
  КонецПопытки;
  
  Попытка
    НаборЗаписей.MoveFirst();
  Исключение  // Нет записей в рекордсете
    НаборЗаписей.Close();
    Возврат;
  КонецПопытки;
  
  Пока НаборЗаписей.EOF() =  0  Цикл
    Name = НаборЗаписей.Fields("Name").Value;
    Email = НаборЗаписей.Fields("Email").Value;
    // Ну и т.д.
   
    Сообщить(Name + " : " + Email);
   
    НаборЗаписей.MoveNext();
  КонецЦикла;
  
  НаборЗаписей.Close();
КонецПроцедуры  // ПриНачалеРаботыСистемы()

Для VisualFoxPro:
Код: plaintext
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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
////////////////////////////////////////////////////////////////////////////////
// ПРЕДОПРЕДЕЛЕННАЯ ПРОЦЕДУРА
//******************************************************************************
Процедура ПриНачалеРаботыСистемы()   
  Попытка
    vfp = СоздатьОбъект("VisualFoxPro.Application");
  Исключение
    Попытка
      CmdStr = "C:\Program Files\Microsoft Visual FoxPro 9\vfp9.exe /regserver";
      ЗапуститьПриложение(CmdStr);
      Сообщить("It's Ok!");
    Исключение
      Предупреждение("Не могу выполнить команду: '" + CmdStr + "'!");
    КонецПопытки;
    
    Попытка
      vfp = СоздатьОбъект("VisualFoxPro.Application");
    Исключение
      Предупреждение("Не могу создать объект: 'VisualFoxPro.Application'!");
      Возврат;
    КонецПопытки;
  КонецПопытки;

  vfp.DoCmd("SET SAFETY OFF");
  vfp.DoCmd("select * from D:\1C\VFP8\friends order by no into table D:\MyDocs\zzz.dbf");
  vfp.DoCmd("MESSAGEBOX('Привет, Emery! Файл '+chr(13)+chr(10)+'D:\MyDocs\zzz.dbf создан!')");  

  vfp.DoCmd("use D:\MyDocs\zzz.dbf");
  КолЭлем = vfp.Eval("reccount()");
  КолРекв = vfp.Eval("fcount()");
  Сообщить("КолЭлем = " + Строка(КолЭлем));
  Сообщить("КолРекв = " + Строка(КолРекв));
    
  // Копирование содержимого таблицы в буфер обмена
  vfp.DataToClip("zzz", ,  3 );   // Извлечь данные в в тексте или таблице 1С77 можно по Ctrl+V

  // Автоматическое извлечение данных
  Таб = СоздатьОбъект("Таблица");
  
  Для i =  1  По КолЭлем Цикл
    ii = СокрЛП(Строка(i));
    vfp.DoCmd("go " + ii);
    
    Для j =  1  По КолРекв Цикл
      jj = СокрЛП(Строка(j));
      Рекв = vfp.Eval("eval(field(" + jj + "))");
      
      Обл = Таб.Область(i, j);
      Обл.Текст = СокрЛП(Строка(Рекв));
      Обл.ЦветФона( 250 ,  200 ,  175 );
      Обл.ЦветРамки( 255 ,  0 ,  255 );
      Обл.РамкаОбвести( 5 ,  5 ,  5 ,  5 );
    КонецЦикла;
  КонецЦикла;
  
  Таб.Показать("Таблица1");
КонецПроцедуры  // ПриНачалеРаботыСистемы()

Для vfpoledb собственно подключение будет:
Код: plaintext
1.
2.
3.
4.
5.
Если ЗагрузитьВнешнююКомпоненту("D:\MyDocs\vfpoledb.dll") =  0  Тогда
  Предупреждение("Неудачная попытка загрузить 'vfpoledb.dll'!");
  СтатусВозврата( 0 );
  Возврат;
КонецЕсли;          

Можно найти строки подключения для файла odbcjt32.dll , для OLEDB Акцесса и многих других провайдеров данных. См. «Примеры подключения различных Баз Данных через ADO» .

Однако не к любым внешним COM-серверам можно подключиться. Скажем, файл vfp9t.dll на первый взгляд выглядит как стандартный COM-сервер, что не предвещает никакой сложности работы с ним. Однако на самом деле все не так просто. Стандартные возможности COM-сервера vfp9t.dll являются всего лишь имитацией или пустой заглушкой , реально не предназначенными для такой работы с ним. Но если создать «оберточную» dll средствами самого VFP, как уже истинный COM-сервер, то его уже можно будет использовать для связи с vfp9t.dll, чтобы «достучаться» до всех его возможностей ( http://www.sql.ru/forum/actualthread.aspx?tid=601874).
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37469184
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!ТС сказал
ValeriuДобавлю, компонент поддерживает технологию OLE,
которую поддерживает и 1С поскольку мне известно..

это ничего не значит. 1С ожидает реализации вполне определенных процедур и функций...
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37469583
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я работаю с Visual Basic.
Там процедура примерно такая.
Я показываю проекту (Reference)
где находиться компонент и добавляю его.

Потом в самой форме:
Код: plaintext
1.
Dim m As MCommand
Set M=CreateObject("M.Command")

Потом в М. я получаю свойства и методы обьекта с которыми я работаю.
Я думаю что так же должно быть и в 1С. Обьявил обьект, потом работаешь с
с ним.

Если я не прав поправьте.
Спасибо.
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37469600
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuЯ думаю что так же должно быть и в 1С

индюк тоже думал... погугить "технология создания внешних компонент 1с"
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37469624
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы мне предлагаете создать самому компоненту ?

Спасибо.
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37469629
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин ПЖThe Dim!ТС сказал
пропущено...


это ничего не значит. 1С ожидает реализации вполне определенных процедур и функций...

Нужно различать два момента, COM это одно, а внешние компоненты, это другое.

Внешние компоненты, это собственное изобретение 1С и тут конечно нужно следовать их рекомендациям. Почему так я не знаю, было бы интересно узнать почему так.

COM, это технология разработанная Microsoft, её суть в повторном использовании кода разработанного однажды множеством других приложений, развитие COM - это DCOM и надстройка в виде OLE. Сама платформа 1С - обе ветки - поддерживают OLE Automation, восьмерка умеет работать и просто как COM-сервер (конэктор).
COM сервер может быть реализован в виде исполняемого файла (exe), а может быть в виде библиотеки (dll), ocx - это обычно COM сервер не являющеся самостоятельной программой, но имеющий формы ввода или отображения информации.
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37469642
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
 Private Sub Command1_Click()
   Dim trade As Object
   Dim Товар As Object
   Set trade = CreateObject("V77 .Application")
   result = trade.Iinitialize(trade.RMTrade, "/DC:\V7\DB /M", "")
   .......

Мне просто интересно, почему в VB так можно, а вот ведите ли
наоборот в 1С нельзя ...
Тогда это полный нонсенс
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37469675
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам же приводили пример работы с COM серверами из среды 1С

Код: plaintext
1.
Акцесс = СоздатьОбъект("ADODB.CONNECTION");
...

Что именно у вас не получается, какие сообщения выдает 1С ?
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37469689
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuВы мне предлагаете создать самому компоненту ?

Спасибо.

я предлагаю что-нибудь погуглить...
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37469692
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!Господин ПЖпропущено...


это ничего не значит. 1С ожидает реализации вполне определенных процедур и функций...

Нужно различать два момента, COM это одно, а внешние компоненты, это другое.

Внешние компоненты, это собственное изобретение 1С и тут конечно нужно следовать их рекомендациям. Почему так я не знаю, было бы интересно узнать почему так.

COM, это технология разработанная Microsoft, её суть в повторном использовании кода разработанного однажды множеством других приложений, развитие COM - это DCOM и надстройка в виде OLE. Сама платформа 1С - обе ветки - поддерживают OLE Automation, восьмерка умеет работать и просто как COM-сервер (конэктор).
COM сервер может быть реализован в виде исполняемого файла (exe), а может быть в виде библиотеки (dll), ocx - это обычно COM сервер не являющеся самостоятельной программой, но имеющий формы ввода или отображения информации.

я в курсе... но автор хотел использовать стороннюю библиотеку в 1С. Причем тут сама 1С как OLE или Com?
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37469703
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что именно у вас не получается, какие сообщения выдает 1С ?

Я сам на 1С не программирую. Хочу взять человека на следующей недели.
Хочу вникать. Расскажу что получилось по позже.
А я уверен что все будет ОК.

Спасибо всем.
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37514583
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте !

Что могу сказать...
Наверное что-то не правильно происходит.
Создаем объект-все нормально
Начинаем использовать его методы и свойство.
Некоторые признает, некоторые нет.
Последние два в нашем случае
Почему ?
Или это гиблый вариант ?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Процедура Test1()
Попытка
     m = CreateObject("m.Command");
Исключение
    Сообщить(ОписаниеОшибки() + "m.Command non create "); 
    Возврат;
КонецПопытки;
 m.Server = "192.168.1.1";
 m.PORT =  2222 ;
 m.Type="TCPIP";
 // m.Login;
 // m.Xecute("w $zv"); 
 // Сообщить(m.Xecute("w $zv")); 
КонецПроцедуры

Спасибо.
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37515632
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять двадцать пять...

В компоненте - а вернее COM-сервере - предусмотрена обработка ошибок или нет? Вы уверены что метод Xecute можно вызвать два раза подряд?
...
Рейтинг: 0 / 0
Сторонние компоненты .dll .ocx
    #37515639
tvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!,

видимо уверен. этож кривая 1С-ка как всегда тупит
...
Рейтинг: 0 / 0
25 сообщений из 43, страница 1 из 2
Форумы / [игнор отключен] [закрыт для гостей] / Сторонние компоненты .dll .ocx
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]