|
|
|
Any vs. Variant - в чем разница?
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть декларирование процедуры вида: Declare Function PEConvertPFInfoToVInfo Lib "\Program Files\Common Files\Crystal Decisions\2.0\bin\crpe32.dll" ( ByVal Value As Any , ByVal valueType%, valueInfo As PEValueInfo) As Integer Когда запускаю модуль, в котором используется это описание, VB плюется, сообщая, что вместо Any нужен "Expecting a valid data type (eg. Integer)" Если тип Any заменить на Variant , то все работает. В чем могут быть осложнения при такой замене и почему VB ругается, не подскажете? Спасибо! Юрий. Кто знает жизнь, тот не торопится... Удачи на дорогах! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 12:52:01 |
|
||
|
Any vs. Variant - в чем разница?
|
|||
|---|---|---|---|
|
#18+
DankovДля Any VB не имеет информации о размере и не знает каким образом поместить это значение в стэк для передачи в DLL. А Variant - это тип известный с известным размером и VB знает как ее помещать в стэк. Вот если бы был не ByVal, а ByRef для Any, то VB бы не ругался, так как тогда в стэк помещается просто указатель, размер которого прекрасно известен. Код: plaintext 1. Спасибо за разъяснения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 12:41:52 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32818450&tid=2168480]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 321ms |

| 0 / 0 |
