Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с приведением типов [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)


Наверх

Титульная страница Поиск, карта сайта Написать письмо