Typinfo - странная ошибка.
[Linker Error] Unresolved external '__fastcall Typinfo::GetPropList(System::TObject *, Typinfo::TPropInfo * *&)' referenced from C:\ADEL PROJECTS\TEST\PROPLIST\UNIT1.OBJ
Возникает для любой функции GetPropList(их 3 штуки). Но самое странное что все другие(которые пробовал) функции модуля TypInfo.hpp нормально работают(т.е. если закоментарить строку вызова GetPropList и оставить только всякие там SetPropValue то всё пашет).
Цитата:
Originally posted by Photus
[Linker Error] Unresolved external '__fastcall Typinfo::GetPropList(System::TObject *, Typinfo::TPropInfo * *&)' referenced from C:\ADEL PROJECTS\TEST\PROPLIST\UNIT1.OBJ
[Linker Error] Unresolved external '__fastcall Typinfo::GetPropList(System::TObject *, Typinfo::TPropInfo * *&)' referenced from C:\ADEL PROJECTS\TEST\PROPLIST\UNIT1.OBJ
Действительно, странно. Может быть, попробовать заставить Билдер пересоздать typinfo.hpp? Например, переименовать существующий в .bak или .old...
Цитата:
Originally posted by smartsoft
Действительно, странно. Может быть, попробовать заставить Билдер пересоздать typinfo.hpp? Например, переименовать существующий в .bak или .old...
Действительно, странно. Может быть, попробовать заставить Билдер пересоздать typinfo.hpp? Например, переименовать существующий в .bak или .old...
Я даже пересобирал typinfo.pas. НЕ помогло. Щас буду просто по исходникам typinfo воссоздавать на Си то что мне нужно. Потому что нужно и сейчас. :)
PTypeInfo U=PTypeInfo(__classid(TButton)->ClassInfo());
PPropList PropList;
int Count = GetTypeData(U)->PropCount;
if(Count > 0)
{
PropList = PPropList(new char[Count * sizeof(void *)]);
GetPropInfos(U, PropList);
}
В PropList - список свойств. в Count - количество свойств.
Можно теперь использовать это так:
Memo1->Lines->Clear();
for(int i=0;i<Count;i++)
{
Memo1->Lines->Add(PropList->Name);
}
delete[] PropList;//удалять ведь надо то что насоздавали :)