Что нового

Вызов функции из DLL, написанной на Delphi, Типы параметров

svigelf

Знающий
Сообщения
61
Репутация
17
Имеется: Dll, написанная на делфи

Нужно: Вызвать функцию из этой dll

В delphi используются типы данных:

AnsiChar Символьный тип, гарантированный размер 8 бит
AnsiString Тип данных, который содержит строку AnsiChar
Boolean Позваляет принимать только True и False значения
Byte Целочисленный тип, поддерживающий значения от 0 до 255
Cardinal Основной тип целого числа без знака
Char Тип переменной для хранения простого символа
Comp 64 битное целое число со знаком
Currency Тип с плавающей запятой с 4 десятичными числами, используемыми для финансовых значений
Double Тип с плавающей запятой, поддерживающий приблизительно 15 цифр точности
Extended Тип с плавающей запятой обладающий самой высокой точностью и вместимостью
Int64 64 битовое целое число - наибольшее в Delphi
Integer Основной тип целого числа
LongInt Целое число, размер которого 32 бита
LongWord 32 битовое число без знака
PAnsiChar Указатель на значение AnsiChar
PAnsiString Указатель на значение AnsiString
PChar Указатель на значение символа (Char)
PCurrency Указатель на значение Валюты (Currency)
PDateTime Указатель на значение TDateTime
PExtended Указатель на значение Extended с плавающей запятой
PInt64 Указатель на значение Int64
Pointer Определяет общее использование указателя на любые данные, основанные на памяти
PShortString Указатель на значение ShortString
PString Указатель на String значение
PVariant Указатель на значение Variant
PWideChar Указатель на PWideChar
PWideString Указатель на значение WideString
Real Тип с плавающей запятой, поддерживающий приблизительно 15 цифр точности
Real48 Тип с плавающей запятой с самой высокой вместимостью и точностью
ShortString Определяет строку, содержащую до 255 символов
Single Тип числа с плавающей запятой обладающий наименьшей вместимостью и точностью
SmallInt Целочисленный тип, поддерживающий значения от-32768 до 32767
String Тип данных, который содержит строку символов
TBits Объект, который может содержать бесконечное число Булевых значений
TConvType Определяет тип измерения используемый Convert
TDateTime Тип данных содержащий значение даты и времени
Text Определяет файл как текстовый файл
TextFile Объявляет типа файл для того, чтобы сохранить строки текста
TFloatFormat Форматы, используемые в функциях отображения чисел с плавающей запятой
TFormatSettings Запись для содержания региональных значений для thread-safe функций
TList Универсальный контейнер списков объектов
TObject Тип базового класса, который является предком для всех других классов
TOpenDialog Отображает диалог выбора файла
TPoint Содержит целочисленные значения X и Y
TPrintDialog Класс, который создает выбор принтера и диалог управления
TRect Содержит значения координат прямоугольника
TReplaceFlags Определяет опции для подпрограммы StringReplace
TSaveDialog Отображает диалог для выбора имени сохраняемого файла
TSearchRec Запись, используемая для хранения данных в FindFirst и FindNext
TStringList Содержит список переменной длины, состоящий из строк
TSysCharSet Символы, используемые снабженной строкой анализирующих функций
TThreadFunc Определяет функцию, которая будет вызвана BeginThread
Variant Тип переменной, который может держать изменяющиеся типы данных
WideChar Тип переменной содержащий отдельный Интернациональный символ
WideString Тип данных, который содержит строку, состоящую из WideChar
Word Целочисленный тип, поддерживающий значения от 0 до 65535

Как правильно написать код вызова функции (указать параметры)?

Грубо говоря по какому принципу переводить типы данных, при написании кода?

К примеру функуция :

Код:
Function ZwCreateThread(ThreadHandle: pdword;
                        DesiredAccess: ACCESS_MASK;
                        ObjectAttributes: pointer;
                        ProcessHandle: THandle;
                        ClientId: PClientID;
                        ThreadContext: pointer;
                        UserStack: pointer;
                        CreateSuspended: boolean):NTStatus;
                        stdcall;external 'ntdll.dll';

Очень хочется знать о этих типах данных:
Код:
pointer
PChar
PAnsiChar
THandle
UINT64
integer
PDWORD
PBYTE
word
pwidechar

Заранее спасибо
 
Верх