ger_kar писал(а):Т.е. получается, что передача параметров (BLow as Byte, BHi As Byte) и (B As Integer) эквивалентна
Нет, в стеке всегда выравнивание — 4 байта. Ну, в свете одной соседней темы, можно уточнить, что зависит от флагов в дескрипторе сегмента стека. Но с точки зрения VB6 — это дебри. Выравнивание всегда по 4 байтной границе.
ger_kar писал(а):Получается, что VB это никак не проверяет, а просто банально упаковывает в стек и вызывается нужная ф-ция, а для ф-ции главное то то, что упаковано в стек.
Да любой ЯП так.
ger_kar писал(а):Таким образом и вместо(X as Long) можно запросто передать (X1 as Byte, X2 as Byte, X3 as Byte, X4 as Byte)
Нельзя, потому что функция ожидает 4 байтовый аргументный фрейм, а будет 16-байтовый.
ger_kar писал(а): И еще интересно можно ли вместо этой последовательности байт, передать структуру состоящую из 4 элементов с типом байт?
Нельзя, потому что структуры передаются только ByRef. Придёт адрес структуры с четырьмя байтами, а не сами эти четыре байта.