![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Типы данных C, VB -> Delphi [D3, XP]
igan © (2009-11-11 06:23:00)Здравствуйте, уважаемые! Прошу помочь правильно описать запись. Есть примеры на Си и VB. Нужно перенести в Delphi (главное размерность записи в байтах)
/* Structure used by rhsc_param_value_bynames()
* and rhsc_param_value_put_bynames() */
typedef struct _PARAM_BYNAME_DATA
{
n_char *szPntName; /* (in) point name */
n_char *szPrmName; /* (in) parameter name */
n_long nPrmOffset; /* (in) parameter offset */
PARvalue *pupvValue; /* (in/out) parameter value union */
n_ushort nType; /* (in/out) value type */
n_long fStatus; /* (out) status of each value access */
} PARAM_BYNAME_DATA;
' Define structure for RHSC_param_value_bynames and RHSC_param_value_put_bynames
' procedure calls
Type param_byname_data
point_name As String
param_name As String
param_offset As Long
padding1 As Long 'for byte alignment between VB and C
param_value As Variant
param_type As Integer
padding2 As Integer 'for byte alignment between VB and C
status As Long
End Type
Anatoly Podgoretsky (2009-11-11 15:42:00) [1]> igan (11.11.2009 14:40:02) [2]
Там в примере по VB не зря слова про вставку псевдо данных и выравнивание.
igan (2009-11-11 14:40:00) [2]спасибо. попробую еще раз. вообще так уже пробовал, выдавало ошибку:
NADS_ARRAY_INVALID_ELEMENT_SIZE 0x83A1 /* Safearray elements incorrect size */
clickmaker (2009-11-11 10:46:00) [3]type
PARAM_BYNAME_DATA = record
szPntName: PChar;
szPrmname: PChar;
nPrmOffset: Longint;
pupvValue: ^PARvalue;
nType: Word;
fStatus: Longint;
end;
со второй вообще без изменений, только As убрать