Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Crazyc
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 10
#1

Создание dll в delphi для 1С - 1С

06.02.2018, 18:01. Просмотров 223. Ответов 1

Есть dll без исходников, для нее есть интерфейс на delphi. Стоит задача подружить эту библиотеку с 1С. На сколько понял с прочитанного в интернете, на основе интерфейса можно сделать dll по COM технологии.

Пример интерфейса:
Delphi
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
58
59
60
61
62
63
unit Unit1;
    interface
 
    uses Windows,
      Messages,
      Classes,
      SysUtils,
      Forms;
 
 
type 
    TBonusCountersPrintQuery = packed record
        Card: array[0..15] of char;
    end;
 
    TListCountersPrint = packed record         
        Lines: array[0..PACKET_COUNTERS_PR_MAX_LINE_COUNT - 1] of TCounterLine;
    end;
 
    TCounterLine = packed record
        LineNo: word;
        IsLast: byte;
        Num_Counter: word;
        N_Counter: array[0..9] of char;
        Value_Counter: Cardinal;
    end;
 
type
    THWE_ProcessBonusListCountersPrint = function(vBonusCountersPrintQuery: TBonusCountersPrintQuery; var vListCountersPrint: TListCountersPrint): Integer; stdcall;
 
function ProcessBonusListCountersPrint(vBonusCountersPrintQuery: TBonusCountersPrintQuery; var vListCountersPrint: TListCountersPrint): Integer; stdcall;
 
implementation
 
var
    HWE_ProcessBonusListCountersPrint          : THWE_ProcessBonusListCountersPrint;
 
function init_dynamic(ALibrary: string): Boolean;
begin
  hLib := SafeLoadLibrary(ALibrary);
 
  Result := (hLib <> 0);
 
  if Result then
  begin
 
    @HWE_ProcessBonusListCountersPrint := GetProcAddress(hLib, 'ProcessBonusListCountersPrint');
 
    Result := Assigned(HWE_ProcessBonusListCountersPrint);
  end;
end;
 
function ProcessBonusListCountersPrint(vBonusCountersPrintQuery: TBonusCountersPrintQuery; var vListCountersPrint: TListCountersPrint): Integer;
begin
  result := HW_FAILURE;
  if hLib <> 0 then result := HWE_ProcessBonusListCountersPrint(vBonusCountersPrintQuery, vListCountersPrint);
end;
 
initialization
 
finalization
 
end.
Как правильно написать такую dll, чтобы функция из примера была доступна из 1С?
http://www.cyberforum.ru/1c/thread2067555.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2018, 18:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создание dll в delphi для 1С (1С):

Создание dll на C# для Delphi Embarcadero RAD Studio XE7
Подскажите, пожалуйста, как создать dll на c# для использования её в проекте...

DLL(Delphi) для vb
Доброго времени суток народ! Сообственно сама проблема: сама функция в делфи...

DLL и LIB в Delphi для VisualC++
Кто может детально объяснить как подготовить файлы DLL и LIB на Delphi6 для...

Создание dll для Hook' ов
подскажите, что нужно прописать в dll файле и основном, чтобы программа...

Создание dll в Matlab, для использования в C#
Здравствуйте. Необходимо создать dll в Matlab, для использования в C#....

1
Dethmontt
Модератор
Эксперт 1С
2577 / 2384 / 391
Регистрация: 10.03.2011
Сообщений: 8,426
Записей в блоге: 1
Завершенные тесты: 1
13.02.2018, 14:03 #2
пример для делфи 6

http://stranichko.org.ua/blog/uploads/Delphi+6
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2018, 14:03
Привет! Вот еще темы с решениями:

Создание dll для связи бд с API
Здравствуйте!Надо написать dll для связи БД c формой скажем так, единственное...

создание dll для подключения к бд oracle
Пытаюсь вынести подключение к бд oracle в dll. Подскажите, пожалуйста, как...

Создание dll для поддержки скинов
Добрый день, понадобилась помощь в разработке dll для поддержки скинов в других...

Создание Dll Для Использования В Lotus
Здравствуйте. Подскажите как создать и в чем dll для лотуса? До этого ниразу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru