Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Помогите перевести структуру с C++ на Delphi  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 2308
Mikhalich
_Vasilisk_
В общем основная мысль такая - никто за Вас целевую версию определять не будет

Т.е. надо лапками впупыривать всю эту байду и ничего нативного нет?
чудной вы человек, сами себе проблемы создаёте на ровном месте.
26 сен 17, 22:30    [20825261]     Ответить | Цитировать Сообщить модератору
 Re: Помогите перевести структуру с C++ на Delphi  [new]
Mikhalich
Member

Откуда:
Сообщений: 283
asutp2
мой вариант:

Я понимаю - раскидыание по разным типам под каждую ось. Похоже единственный адекватный выбор под Дельфу.
27 сен 17, 02:00    [20825550]     Ответить | Цитировать Сообщить модератору
 Re: Помогите перевести структуру с C++ на Delphi  [new]
Arioch
Member

Откуда:
Сообщений: 9144
Mikhalich
asutp2
мой вариант:

Я понимаю - раскидыание по разным типам под каждую ось. Похоже единственный адекватный выбор под Дельфу.


ЕСЛИ тебе нужны ВСЕ варианты структуры + контроль доступа к полям при компиляции, то да.
И то, тебе нужно все время будет правильно руками выставлять тип данных.

var p: pointer;

p := (* какая-то функция Win32 *)

if NTVersion >= 5.0 then LPRasConn2K(p).Some2KField := ...
if NTVersion >= 5.1 then LPRasConnXP(p).SomeXPField := ... 


ЕСЛИ тебе это в самом деле нужно. Пишешь какой-нибудь универсальный менеджер соединений, программу-звонилку с полной синхронизацией через облако.

А реально, ты просто выбираешь самую старую (саму "тощую") структуру, в которой есть все тебе нужные поля и описываешь только её и работаешь только с ней.

Ну, разумеется, не забывая регулярно проверять, что MyVar.dwSize >= SizeOf(MyVar);
Эту проверку можно методов рекорда сделать, впрочем.
27 сен 17, 14:45    [20826838]     Ответить | Цитировать Сообщить модератору
 Re: Помогите перевести структуру с C++ на Delphi  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 9870
Mikhalich
раскидыание по разным типам под каждую ось.
Полный бред
Mikhalich
единственный адекватный выбор под Дельфу.
Я же написал 20823945
27 сен 17, 15:03    [20826896]     Ответить | Цитировать Сообщить модератору
 Re: Помогите перевести структуру с C++ на Delphi  [new]
asutp2
Member

Откуда: Тюмень
Сообщений: 180
_Vasilisk_
Mikhalich
раскидыание по разным типам под каждую ось.
Полный бред
Mikhalich
единственный адекватный выбор под Дельфу.
Я же написал 20823945


_Vasilisk_, а в чем прикол твоего варианта? выбор версии ВО ВРЕМЯ КОМПИЛЯЦИИ? Ты программы под каждую версию виндов отдельно собираешь?
27 сен 17, 20:12    [20827685]     Ответить | Цитировать Сообщить модератору
 Re: Помогите перевести структуру с C++ на Delphi  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 9870
asutp2
а в чем прикол твоего варианта?
Человек просит сделать как в Си и жалуется, что в Делфи это невозможно
28 сен 17, 18:24    [20829947]     Ответить | Цитировать Сообщить модератору
 Re: Помогите перевести структуру с C++ на Delphi  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2677
_Vasilisk_
asutp2
а в чем прикол твоего варианта?
Человек просит сделать как в Си и жалуется, что в Делфи это невозможно
то, на что он жалуется - возможно.
Достаточно объявить один packed массив с размерностью записи, и потом обращаться по смещению.
И под разными системами всё будет идентично.
30 сен 17, 04:06    [20833009]     Ответить | Цитировать Сообщить модератору
 Re: Помогите перевести структуру с C++ на Delphi  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2677
Makar4ik
_Vasilisk_
пропущено...
Человек просит сделать как в Си и жалуется, что в Делфи это невозможно
то, на что он жалуется - возможно.
Достаточно объявить один packed массив с размерностью записи, и потом обращаться по смещению.
И под разными системами всё будет идентично.
ну дельфя же умеет обращаться к элементу байт-массива, типизируя его на лету?
Вот и решение...
30 сен 17, 04:12    [20833010]     Ответить | Цитировать Сообщить модератору
 Re: Помогите перевести структуру с C++ на Delphi  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2677
Makar4ik
Makar4ik
пропущено...
то, на что он жалуется - возможно.
Достаточно объявить один packed массив с размерностью записи, и потом обращаться по смещению.
И под разными системами всё будет идентично.
ну дельфя же умеет обращаться к элементу байт-массива, типизируя его на лету?
Вот и решение...
DWORD(@P[111]^)
30 сен 17, 04:14    [20833011]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Delphi Ответить