Вниз
Скачать: CL | DM;

Untyped parameters   Найти похожие ветки 

← →
TCrash ©   (2003-06-09 19:55) [0]

Подскажите, плс, Каким образом передаются в процедуру нетипизированные параметры.
Например, имеется :

procedure aaaa(const x);
var p: pointer;
begin
........
getmem(p,Sizeof(x));
p^:=x; // Здесь ругается на несовместимость типов
........
end;

Что здесь неправильно?


← →
clickmaker ©   (2003-06-09 19:57) [1]

p:=@x;


← →
clickmaker ©   (2003-06-09 19:59) [2]

Сорри, не заметил getmem... Тогда так
CopyMemory(p, @x, SizeOf(x));


← →
TCrash ©   (2003-06-09 20:01) [3]

Простите за тупой вопрос, но как такая запись трактуется ?

ЗЫ: мне нужно по заданному указателю поместить передаваемые данные. Никак не присвоить указателю адрес данных.


← →
clickmaker ©   (2003-06-09 20:04) [4]

p^ можно указывать только в правой части, например:

procedure aaaa(var x: integer);
var p: pointer;
begin
CopyMemory(p, @SomeData, sizeof(integer));
x := integer(p^);
end;


← →
TCrash ©   (2003-06-09 20:08) [5]

Простите за повторный ворос, похоже вы на него уже ответили
=> clickmaker © (09.06.03 19:59)

Tsank you.


← →
TCrash ©   (2003-06-09 20:11) [6]

кстати, не могу пока проверить на практике, а как определиться SizeOf(X), если размер Х заранее неизвестен.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
1-84076
Rel_
2003-06-09 14:12
2003.06.26
Excel


14-84714
АлК
2003-06-05 13:44
2003.06.26
Project Manager в D7


14-84537
linker
2003-06-04 10:53
2003.06.26
PDF?????????????????????????????????????


7-84781
MortalScorpion
2003-04-16 18:36
2003.06.26
Выключить/включить микрофон


3-83853
explorer
2003-05-28 13:16
2003.06.26
Обработка ошибки хранимой процедуры




   Наверх