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

Delphi и WinAPI

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

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

16.10.2016, 12:08. Просмотров 410. Ответов 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):

С на Delphi -возможно перевести??? - Delphi
bool Isomorph (Graph *G1, Graph *G2,Q NewFunA,Q FunB) //{ Предикат, возвращающий TRUE, если графы изоморфны.} //{ Отображение вершин...

Delphi программу перевести в С++ - Delphi
Здравствуйте! Прошу, если кто сможет!! Моя программа написана на Delphi а Препод под конец срока сказал что бы поменял на С++, Если сможете...

Перевести из Javascript в Delphi - Delphi
Помогите перевести код из Javascript в Delphi Сам скрипт и пример здесь: http://imei.sms.eu.sk/index.html Дополнительно...

dll в Delphi - Delphi
Доброго времени суток! Возникла необходимость в написании библиотеки (в ней ресурсы всякие и несколько функций) которая будет сама...

Delphi dll - Delphi
Написал на Delphi dll с функцией для переворачивания изображения лежащего в не сжатом виде без заголовка (поле данных в несжатом bmp ) с...

Перевести код с Лазаруса на Delphi - Delphi
Помогите неудачнику перевести код с лазаруса на Delphi. Сам я в этом не шарю ничего(( unit unit1; {$mode objfpc}{$H+} ...

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

З.Ы. А что, методы передачи параметров и результата в Паскале и дельфи отличаются? Т.е. Если я свою "дельфийскую" DLLку соберу(при условии одинаковой разрядности и типа Char(однобайтная или юникод)) фрипаскалем может не заработать
northener
3073 / 2130 / 439
Регистрация: 15.07.2013
Сообщений: 12,407
21.10.2016, 01:27 #4
Цитата Сообщение от drfaust Посмотреть сообщение
З.Ы. А что, методы передачи параметров и результата в Паскале и дельфи отличаются? Т.е. Если я свою "дельфийскую" DLLку соберу(при условии одинаковой разрядности и типа Char(однобайтная или юникод)) фрипаскалем может не заработать
Соглашения о вызовах не должны отличаться в FPC и Дельфи.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2016, 01:27
Привет! Вот еще темы с ответами:

перевести уравние на язык Delphi - Delphi
Блин....я не знаю как их переводить..АааА.у меня уже истерика..плиззз....жду помощи))О_о Заголовок темы изменен модератором. Он...

DLL (плагин) на Delphi - Delphi
Есть заголовочный файл для создания длл на C (.h файл). Хочу переложить структуры и сделать заголовочный файл для Delphi. 1-ая функция...

Delphi DLL ПОМОГИТЕ! - Delphi
Нужно написать DLL: 1) Расстояние между двумя точками с координатами (x1, y1, z1) и (x2, y2, z2) 2) Определение минимального числа из...

Перевести из Pascal в Delphi или Lazarus - Delphi
Для заданной строки текста определите слова, которые содержат символы, отличные от букв не могу перевести, не знаю на какие функции...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.10.2016, 01:27
Ответ Создать тему
Опции темы

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