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

Вниз

Как узнать класс несозданной переменной?   Найти похожие ветки 

 
Igorek   (2003-02-10 15:16) [0]


procedure CreateAll(var Objects: array of TObject);
var
I: Integer;
begin
for I := Low(Objects) to High(Objects) do
Objects[I].ClassType.Create;//Error - ClassType не классовый метод
//здесь надо узнать класс переменной, под которым она
//обьявлена где-то в другом месте
end;

procedure f1;
var
Tmp: TSomeType;
begin
f2(Tmp);
end;


Наверное нельзя, так как переменная равна nil и только это передается. Но все равно, может есть способ обойти?

Также надо наверно передавать массив ссылок, а это наверно не одно и то же, что ссылка на массив.

Спасибо.


 
Igorek   (2003-02-10 15:17) [1]

Вызов конечно же:
procedure f1;
var
Tmp: TSomeType;
begin
f2([Tmp]);
end;




 
REA   (2003-02-10 16:28) [2]

Передавай метаклассы: Array Of TClass, а объекты добавляй в списочек или массив.


 
Igorek   (2003-02-10 16:33) [3]


> REA © (10.02.03 16:28)

т.е.
procedure CreateAll(
Types: array of TClass;
Objects: array of TObject);
?



 
Igorek   (2003-02-10 16:40) [4]

Пропадает весь прикол, который состоит в том, что бы можно было вызвать CreateAll([Var1, Var2 ... VarN])

FreeAll(array of TObject) нормально работает.



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

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

Наверх




Память: 0.44 MB
Время: 0.009 c
1-53065
me2
2003-02-06 09:30
2003.02.17
Дополнительное свойство у узла компонента TreeView


3-52762
Grey
2003-01-30 19:40
2003.02.17
Дублирование значений полей в DBGrid


1-53072
Tyo
2003-02-06 17:06
2003.02.17
---|Ветка была без названия|---


14-53256
Shc
2003-01-30 20:05
2003.02.17
RTF


3-52707
b_baranov
2003-01-31 20:02
2003.02.17
Объединение таблиц





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский