![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с приведением типов [D7, XP]
harisma © (2009-11-03 11:25:00)Портирую проект из Делфи 5 в Делфи 7.
Все пока нормально, только вот такой код, работавший Делфи 5 не компилится в Делфи 7:
function SomeProcName(Index; Integer): TVarData;
var
P: Pointer;
begin
P := GetAt(Index);
if P = nil then
Result := TVarData(Unassigned) <-- тут возникает ошибка
else
Result := TVarData(P^);
end;
компилятор ругается: "Invalid typecast"
Что делать? Как код изменить?
Сергей М. (2009-11-03 12:48:00) [1]
> свое ехидство оставь при себе
Какое тут ехидство ?
В D7 Unassigned - это функция, а в D5, вероятно, это была стат.переменная.
А на месте EmptyParam в дан.случае может фигурировать любаянеинициализированная переменная вар.типа.
harisma (2009-11-03 12:42:00) [2]
> почему это помогло
Я посмотрел в модулях System и Variants - и все понял. Просто не знал о существовании EmptyParam. Так что свое ехидство оставь при себе.
Сергей М. (2009-11-03 11:58:00) [3]Еще бы ты понял почемуэто помогло - тогда бы совсем захорошело)
harisma (2009-11-03 11:49:00) [4]Спасибо. Помогло :)
Сергей М. (2009-11-03 11:32:00) [5]TVarData(EmptyParam)