Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.12.20;
Скачать: CL | DM;

Вниз

Проблема с приведением типов   Найти похожие ветки 

 
harisma ©   (2009-11-03 11:25) [0]

Портирую проект из Делфи 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 11:32) [1]

TVarData(EmptyParam)


 
harisma ©   (2009-11-03 11:49) [2]

Спасибо. Помогло :)


 
Сергей М. ©   (2009-11-03 11:58) [3]

Еще бы ты понял почему это помогло - тогда бы совсем захорошело)


 
harisma ©   (2009-11-03 12:42) [4]


> почему это помогло

Я посмотрел в модулях System и Variants - и все понял. Просто не знал о существовании EmptyParam. Так что свое ехидство оставь при себе.


 
Сергей М. ©   (2009-11-03 12:48) [5]


> свое ехидство оставь при себе


Какое тут ехидство ?

В D7 Unassigned - это функция, а в D5, вероятно, это была стат.переменная.

А на месте EmptyParam в дан.случае может фигурировать любая неинициализированная переменная вар.типа.



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

Текущий архив: 2009.12.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
2-1257428257
night_light
2009-11-05 16:37
2009.12.20
компоненты ClientSocket и ServerSocket не отображаются на панели


2-1257362090
bagi
2009-11-04 22:14
2009.12.20
создание профилей настроек


4-1225346049
xCode
2008-10-30 08:54
2009.12.20
CreateUserProcess


2-1256898581
Oleg1963
2009-10-30 13:29
2009.12.20
Компонент Еdit в цикле


2-1256795460
Rimdus
2009-10-29 08:51
2009.12.20
Компонент без отладки