С Новым годом! Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 20
1

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

06.02.2018, 18:01. Показов 1933. Ответов 1

Author24 — интернет-сервис помощи студентам
Есть 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С?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.02.2018, 18:01
Ответы с готовыми решениями:

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

Delphi 5: создание заголовочного файла вместе с DLL
Здравствуйте, уважаемые коллеги. Есть исходник проекта в Delphi 5, из него нужно создать DLL и...

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

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

1
Модератор
Эксперт 1С
4029 / 2974 / 591
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
13.02.2018, 14:03 2
пример для делфи 6

http://stranichko.org.ua/blog/uploads/Delphi+6
0
13.02.2018, 14:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2018, 14:03
Помогаю со студенческими работами здесь

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru