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

Delphi и WinAPI

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

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

16.10.2016, 12:08. Просмотров 395. Ответов 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
Посмотрите здесь:

Передача параметров в С-процедуру (DLL) из Delphi - Delphi WinAPI
Как в программе DELPHI описать параметры и функцию, которая находится в DLL, написанную на языке С, т.е. как сделать вызов внешней функции?...

Перевести с DELPHI в С++ - C++
Кто-нибудь сможет помочь переписать код с delphi на с++? И вообще возможно ли это?

Перевести с Delphi - C#
Здравствуйте, помогите, пожалуйста, перевести часть кода с Delphi на C# begin blokirovka; for i:=0 to (memo1.Lines.Count-1)...

Перевести с C# на Delphi - Delphi
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

Перевести с Delphi на C/C++. - C++
program zadacha5; {$APPTYPE CONSOLE} uses SysUtils; var a,b,s,k,v :real ; begin

Перевести на Delphi c С++ - Delphi
Как перевести такой код: class Container; class Content{ private: Сontainer...

Перевести с DELPHI в С++ - Visual C++
Уже создавал тему в разделе с++ для начинающих, там сказали что не консольные программы рассматривают в этом разделе. Очень нужно...

Перевести с Delphi - C#
Здравствуйте! Есть код 2-х функций на Delphi, нужно перевести на C#. Очень надо. Заранее спасибо! function Freedom (x, y: Integer;...

Перевести с Delphi на С - C (СИ)
Помогите перевести с делфи на С кто нибудь прошу

Перевести от Delphi на С++ - OpenGL
народ помогите type TLab2Form = class(TForm) PageControl1: TPageControl; SheetFile: TTabSheet; SheetLexems:...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BOGG ART
487 / 413 / 121
Регистрация: 09.12.2013
Сообщений: 2,189
Записей в блоге: 2
17.10.2016, 19:36     Перевести объявления в DLL на Delphi в C #2
Паскаль или ФриПаскаль или Делфи? Точная версия? Что куда откуда зачем надо?
В конце концов можете просто провести тестирование.
drfaust
256 / 146 / 37
Регистрация: 02.10.2008
Сообщений: 530
Записей в блоге: 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
3050 / 2107 / 433
Регистрация: 15.07.2013
Сообщений: 12,199
21.10.2016, 01:27     Перевести объявления в DLL на Delphi в C #4
Цитата Сообщение от drfaust Посмотреть сообщение
З.Ы. А что, методы передачи параметров и результата в Паскале и дельфи отличаются? Т.е. Если я свою "дельфийскую" DLLку соберу(при условии одинаковой разрядности и типа Char(однобайтная или юникод)) фрипаскалем может не заработать
Соглашения о вызовах не должны отличаться в FPC и Дельфи.
Yandex
Объявления
21.10.2016, 01:27     Перевести объявления в DLL на Delphi в C
Ответ Создать тему
Опции темы

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