Форум программистов, компьютерный форум CyberForum.ru

Delphi и WinAPI

Войти
Регистрация
Восстановить пароль
 
drfaust
256 / 146 / 37
Регистрация: 02.10.2008
Сообщений: 529
Записей в блоге: 1
Завершенные тесты: 1
#1

Перевести объявления в DLL на Delphi в C - Delphi WinAPI

16.10.2016, 12:08. Просмотров 376. Ответов 3
Метки нет (Все метки)

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
TFisSet = record
    Pass, INN, RegN, Z: int64;
    SetD, SetM, SetY: Word;
    Ok: Boolean
  end;
 
  TFisRep = record
    Num: integer;
    RepD, RepM, RepY: Word;
    SumPlus, SumMinus: Real;
    Ok: Boolean
  end;
 
  TKKM = record
    Number: array[0..15] of Char;
    NumberOk: Boolean;
    FisRepCount: integer;
    FisD, FisM, FisY: Word;
    FisSet: array[0..30] of TFisSet;
    FisRep: array[0..4000] of TFisRep;
  end;
 
function OpenFisFile(FN: PChar): TKKM; export; stdcall;
begin
     {ваш текст для чтения данных из файла}
end;
 
procedure SaveFisFile(FN: PChar; KKM: TKKM); export; stdcall;
begin
     {ваш текст для записи данных в файл}
end;
Если с базовыми типами разобрался, то как передаются в/из функции структуры. В данном объявлении в качестве возврата и параметров указывается сама структура (которая содержит немаленький массив структур). Сомневаюсь что такой объём данных передаётся напрямую через стек.
В языке C проще - указатель(TKKM *) или ссылка (TKKM&) - в реальности передаются именно указатели, а в паскале как?

Добавлено через 18 часов 0 минут
Получил ответ в Соответствие объявлений в C и Pascal
Придётся писать на дельфях эту DLLку.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2016, 12:08     Перевести объявления в DLL на Delphi в C
Посмотрите здесь:

Delphi WinAPI Перехват Send(ws2_32.dll)
DLL Viewer Delphi WinAPI
Delphi WinAPI Как отследить какая программа использует некую dll?
Отключение dll от стороннего процесса Delphi WinAPI
KeyboardProc, глобальный хук клавиатуры, dll Delphi WinAPI
Delphi WinAPI DLL экспорт строк
Delphi WinAPI Можно ли хукать нажатия клавиш без использования DLL?
Dll inject в exe Delphi WinAPI
Передача параметров в С-процедуру (DLL) из Delphi Delphi WinAPI
Inject dll, а также вызов функции из этой же dll Delphi WinAPI

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BOGG ART
464 / 390 / 115
Регистрация: 09.12.2013
Сообщений: 2,092
Записей в блоге: 2
17.10.2016, 19:36     Перевести объявления в DLL на Delphi в C #2
Паскаль или ФриПаскаль или Делфи? Точная версия? Что куда откуда зачем надо?
В конце концов можете просто провести тестирование.
drfaust
256 / 146 / 37
Регистрация: 02.10.2008
Сообщений: 529
Записей в блоге: 1
Завершенные тесты: 1
17.10.2016, 20:12  [ТС]     Перевести объявления в DLL на Delphi в C #3
Цитата Сообщение от "drfaust;9648791"[PASCAL
]function OpenFisFile(FN: PChar): TKKM; export; stdcall;
begin
* * *{ваш текст для чтения данных из файла}
end;[/PASCAL]
Дельфи в C. Сейчас уже не актуально - написал DLLку в 7й дельфи. Хотя на будущее может и понадобиться.

З.Ы. А что, методы передачи параметров и результата в Паскале и дельфи отличаются? Т.е. Если я свою "дельфийскую" DLLку соберу(при условии одинаковой разрядности и типа Char(однобайтная или юникод)) фрипаскалем может не заработать
northener
2996 / 2075 / 426
Регистрация: 15.07.2013
Сообщений: 11,997
21.10.2016, 01:27     Перевести объявления в DLL на Delphi в C #4
Цитата Сообщение от drfaust Посмотреть сообщение
З.Ы. А что, методы передачи параметров и результата в Паскале и дельфи отличаются? Т.е. Если я свою "дельфийскую" DLLку соберу(при условии одинаковой разрядности и типа Char(однобайтная или юникод)) фрипаскалем может не заработать
Соглашения о вызовах не должны отличаться в FPC и Дельфи.
Yandex
Объявления
21.10.2016, 01:27     Перевести объявления в DLL на Delphi в C
Ответ Создать тему
Опции темы

Текущее время: 06:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru