У вас типичный случай с переполнением стека.
Цитата:
Сообщение от
John_11
X++:
bin1 = new Binary(8);
st1.string(0,"Тестовая строка 1");
st2.string(0,"Тестовая строка 2");
bin1.binary(0,st1);
bin1.binary(4,st2);
Вы выделяете под bin память размером 8 байт, а затем заталкиваете в эту область текст, длиной 17 байт. Причем во второй раз еще и со смещением в 4 байта. Вот и получаете странные значения в других переменных, размещенных в стеке.
А если измените порядок переменных в стеке
X++:
static void BinSTR(Args _args)
{
Binary st1;
Binary st2;
Binary bin1;
то скорее всего, аксапта просто вылетать начнет.
См. msdn:
http://msdn.microsoft.com/en-us/library/aa500848.aspx