![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать систему dll-плагинов работающих на Си и Дельфи ? [D7]
Not © (2006-09-17 02:15:00)одновременно.
Есть следующие данные которые надо передавать в DLL там отредактировать и вернуть обратно:
type
TVector3f = array [0..2] of Single;
TFGTData = record
PTInd : array [0..2] of Integer;
TXInd : array [0..2] of Integer;
Enable : Boolean;
NRData : Integer;
end;
TFData = record
FGTData : array of TFGTData;
Name : string;
MName : string;
Visible : Boolean;
NTData : Byte;
end;
TFDatas = array of TFData;
TTXData = record
X, Y : Single;
Enabled : Boolean;
end;
TPData = record
ITData : TVector3f;
Enabled : Boolean;
BNData : SmallInt;
end;
TMData = record
Name : string;
PData : array of TPData;
TXData : array of TTXData;
FData : TFDatas;
Visible : Boolean;
end;
TMDatas = array of TMData;
var
MDatas1 : TMDatas;
Передать нужно данные из MDatas1. Само собой их можно как нибудь преобразовать упаковать, и т. д. Например я мог бы упаковать их в TStream. Но в Си их нету. А что есть, или как тогда быть?
Можно какой-нибудь пример как такие задачи решаются?
Речь идёт не о единичном рекорде без строк и динамических массивов, а именно о такой большой конструкции.
Not (2006-09-17 07:29:00) [21]
> Zeqfreed © (17.09.06 06:07) [2]
>
> Собственно способ был озвучен: использовать динамическое
> выделение памяти и передавать указатели. Я боюсь, что писать
> код тебе придется самому. Мне очень лениво это делать для
> такой большой монструозной структуры записей :) Уверен,
> что там ничего упростить нельзя?
Не нельзя. При работе с ней ничего в общем то сложного нет. Я просто не понимаю как именно передать. Указатель, на массив указателей, на указатель, на массив указателей? Да ещё просто данные в перемешку. В общем непонятно как-то.
Zeqfreed (2006-09-17 06:07:00) [22]Собственно способ был озвучен: использовать динамическое выделение памяти и передавать указатели. Я боюсь, что писать код тебе придется самому. Мне очень лениво это делать для такой большой монструозной структуры записей :) Уверен, что там ничего упростить нельзя?
Германн (2006-09-17 03:34:00) [23]
> Речь идёт не о единичном рекорде без строк и динамических
> массивов, а именно о такой большой конструкции.
>
Т.е. речь идёт именноо "такой большой конструкции", но "со строками и динамическими массивами"? :-)