|
|
|
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=32818170&tid=2168480]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
| others: | 216ms |
| total: | 358ms |

| 0 / 0 |
