Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание dll для 1c 
:(
    Опции темы
АлексейБ
Дата 13.12.2006, 06:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 1.7.2005

Репутация: нет
Всего: нет



Пробую создать dll компоненту для работы с 1с, нашел пример на Delphi 
но он не работает подскажите, что не так

пишет ошибку (у меня Delphi 6):
[Error] Unit1.pas(68): Undeclared identifier: 'VarType'

Если комментирую строку на которой ошибка (в принципе она не нужна), выдается следующая

[Error] wzdemo.dpr(23): Incompatible types: 'TFPList' and 'Class reference'

в чем проблема очень надо внедрить для 1с:   smile  smile  smile 
 

Код

library wzdemo;

uses
  ComServ,
  ObjClass,
  Unit1 in 'Unit1.pas' {DM1: TDataModule},
  Unit2 in 'Unit2.pas' {PropertyPage2: TPropertyPage};

{$E dll}

exports
  DllGetClassObject,
  DllCanUnloadNow,
  DllRegisterServer,
  DllUnregisterServer;

{$R *.RES}

const
ObjectGUID : TGUID = '{3FA92620-2717-11D7-8DA7-00001C0317DB}';

begin
   CreateAddIn('ob1', ObjectGUID, TDM1,'AddInFPList'); //ошибка в этой строке
end.

PM MAIL   Вверх
Romkin
Дата 13.12.2006, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 14.11.2006
Где: Москва

Репутация: 2
Всего: 5



А зачем тебе эта строка? Ее быть не должно smile
Создал ActiveX library - просто создай Automation object с нужной функциональностью, не надо ничего изобретать.
PM ICQ   Вверх
АлексейБ
Дата 13.12.2006, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 1.7.2005

Репутация: нет
Всего: нет



без нее dll компилируется, но в 1с выдает ошибку: 

Ошибка при создании объекта из компоненты C:\awzdemo\awzmd\wzdemo.dll (отсутствует интерфейс IInitDone)
ы=СоздатьОбъект("AddIn.ob1");   
{Глобальный модуль(8)}: Неудачная попытка создания объекта (AddIn.ob1)

скаченный архив из интернета: awzproject.rar
исходники и они не работают 


Присоединённый файл ( Кол-во скачиваний: 16 )
Присоединённый файл  awzproject.rar 5,77 Kb
PM MAIL   Вверх
АлексейБ
Дата 13.12.2006, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 1.7.2005

Репутация: нет
Всего: нет



скаченный второй архив для 1с, загружаю частями:
1) awzmd.part1.rar

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  awzmd.part1.rar 97,66 Kb
PM MAIL   Вверх
АлексейБ
Дата 13.12.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 1.7.2005

Репутация: нет
Всего: нет



скаченный второй архив для 1с, загружаю частями:
2) awzmd.part2.rar 

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  awzmd.part2.rar 61,50 Kb
PM MAIL   Вверх
Romkin
Дата 13.12.2006, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 14.11.2006
Где: Москва

Репутация: 2
Всего: 5



Угу. А со строкой - вообще не компилируется  smile 
Понимаешь, компонента для 1С - вещь не особо нужная. Я же тебе сказал: сделай обычный дуальный интерфейс, свой. И работай с ним в 1С из кода 1С.
А если хочешь создать именно компонент - бери руководство. Тебе там, если память не изменяет, нужно создать как минимум реализацию интерфейса-дублера IDispatch. "Облегчили" работу, млин.
PM ICQ   Вверх
АлексейБ
Дата 13.12.2006, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 1.7.2005

Репутация: нет
Всего: нет



ПОДСКАЖИ ПЛИЗ  как   smile  smile  , а то мне век разбираться придется так как я в Delphi не пишу

мне нужно чтоб при вызове процедуры в 1с обработка передавалась в dll там обрабатывалось и возвращались результаты в 1с 
PM MAIL   Вверх
Romkin
Дата 13.12.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 14.11.2006
Где: Москва

Репутация: 2
Всего: 5



Ну да. И зачем тебе компонент?
1. New -> ActiveX library. Сохраняешь под именем MyTestLib
2. New -> Automation Object. В окне задаешь имя MyTest
3. View -> Type library. Становишься на интерфейс (красный), нажимаешь кнопку добавить метод. Вводишь имя Add и два параметра, a integer, b integer, результат - тоже integer
4. Нажимаешь обновить, идешь в модуль и пишешь Result := a+b;
5. Run -> Register ActiveX Server
6. В 1С в коде пишешь: 
МойОбъект = СоздатьОбъект("MyTestLib.MyTest")
А = МойОбъект.Add(2,3)
Любуешься результатом...
Трудности у тебя могут возникнуть на шаге 3, при вводе параметров. Будут - подскажу
PM ICQ   Вверх
АлексейБ
Дата 13.12.2006, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 1.7.2005

Репутация: нет
Всего: нет



View -> Type library - неактивна 

Цитата

Трудности у тебя могут возникнуть на шаге 3, при вводе параметров. Будут - подскажу 


Подсказывай   smile 
PM MAIL   Вверх
ASGDeveloper
Дата 13.12.2006, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


developer
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 1.4.2006

Репутация: 1
Всего: 1



Цитата(Romkin @  13.12.2006,  11:53 Найти цитируемый пост)
при вводе параметров. Будут - подскажу

Возникли. Не получается указать, что метод Add не процедура, а функция.
PM MAIL   Вверх
Romkin
Дата 13.12.2006, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 14.11.2006
Где: Москва

Репутация: 2
Всего: 5



Добавить третий параметр, тип long*, флаги [out, retval] - это и будет результат
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0851 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.