![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему не компелиться?
De © (2006-06-01 13:42:00)
procedure Proc(var Data: Pointer; Size: Integer);
...
procedure Proc2
var
s: string;
p: Pointer;
begin
...
/// так не компелиться
Params.ImportParams(@S[1], Length(S), False);
/// а так все Ок
P := @S[1];
Params.ImportParams(P, Length(S), False);
...
end;
поясните пожалуста почему?
спасибо
StriderMan (2006-06-01 15:22:00) [1]1. что такое "Params"
2.
Params.ImportParams(P, Length(S)) случайно не такой прототип имееет:
... ImportParams( varP: Pointer; ...)
Kolan (2006-06-01 13:59:00) [2]
> Types of actual and formal var parameters must be identical
Это значит, что где то у тебя описана процедура или функция с одними параметрами, а ты туда переавать пытещься параметры другого типа.
Прием:
procedure DoSmth(I: Integer);
begin
end
Вызов :
DoSmth('String');
Те надо передать, допустим, целое число, а ты пытаешься передать строку.
Сергей М. (2006-06-01 13:48:00) [3]
> De (01.06.06 13:45) [4]
И для тебя сия фраза, надо понимать, - тарабарщина ?
Что конкретно не понятно из этой фразы ?
De (2006-06-01 13:45:00) [4]Types of actual and formal var parameters must be identical
Рамиль (2006-06-01 13:44:00) [5]Так ведь пишет, наверное, причину?
Сергей М. (2006-06-01 13:43:00) [6]компилятор же не молчит, я надеюсь) ... и говорит почему ...
De (2006-06-01 13:43:00) [7]звиняюсь вот так:
procedure Proc(var Data: Pointer; Size: Integer);
...
procedure Proc2
var
s: string;
p: Pointer;
begin
...
/// так не компелиться
Params.ImportParams(@S[1], Length(S));
/// а так все Ок
P := @S[1];
Params.ImportParams(P, Length(S));
...
end;