Показать сообщение отдельно
  #41  
Старый 24.10.2012, 20:45
reqyz reqyz вне форума
Начинающий
 
Регистрация: 13.02.2010
Сообщения: 104
Репутация: 10
По умолчанию

Цитата:
Сообщение от Bargest
Params не трогай. Его оставь как есть.
Просто для VAR переменных если обычно Params[i] := value, то теперь
Код:
var value: pointer;
...
value := GetMem(n); // тут размер типа
Integer(value^) := VAL; // VAL - передаваемое число, integer для примера
pVar[i].addr := value;
pVar[i].type :=  0; // для примера опять же, пусть 0 означает integer 
inc(i);
Params[count] = DWORD(value);
inc(count);
Примерно. А если переменная не VAR, то все как прежде.
с этим ясно) а на счёт конст, я нарыл, когда такой тип вара, то посылается не значение а его копия, и с ним уже работает функция, а так как у нас посылается само значение, то функция начинает его использовать и получается ошибка, но думаю это обойти никак невозможно( и на том спасибо) завтра напишу конечную функцию с варами и аутами) спокойной ночи)
Ответить с цитированием