Hi,
Wie kann ich folgendes in C++ (
RAD 2009) übersetzen?
TJvCustomInspectorData.ItemRegister.Add(TJvInspectorTypeInfoRegItem.Create(TJvInspectorLicenseItem, TypeInfo(AnsiString)));
Ich habe folgendes versucht:
Code:
TJvCustomInspectorData::ItemRegister()->Add(new TJvInspectorTypeInfoRegItem(__classid(TJvInspectorLicenseItem), TypeInfo(AnsiString)));
Der Compilier meckert endlich nicht, dafür aber der Linker:
Zitat:
[ILINK32 Fehler] Error: Nicht auflösbares externes '__fastcall Jvinspector::TJvInspectorTypeInfoRegItem::TJvInspe ctorTypeInfoRegItem(System::TMetaClass * const, Typinfo::TTypeInfo *)' referenziert von ...\DEBUG\UNITFORMMAIN.OBJ
Meine Klasse wäre dies:
Code:
class TJvInspectorLicenseItem : public TJvInspectorStringItem
{
protected:
void __fastcall Edit()
{
ShowMessage("Juhu");
Data->AsString = "test";
};
String __fastcall GetDisplayValue()
{
if (Data->AsString.Length() == 0)
return "(Klicken zum Importieren!)";
else
return "(Lizenz vorhanden)";
};
public:
__fastcall TJvInspectorLicenseItem(const TJvCustomInspectorItem* AParent, const TJvCustomInspectorData* AData)
: TJvInspectorStringItem(AParent, AData)
{
Flags = Flags << iifEditButton << iifEditFixed;
};
};
Was ich erreichen will, ist, dass meine Klasse registriert wird und ich folgendes verwenden darf:
Code:
item = TJvInspectorVarData::New(cat, "Lizenz", TypeInfo(TJvInspectorLicenseItem), &(FConfig.License));
Das C++-Beispiel bei den Examples behandelt leider diesen Abschnitt nicht.
Gruß
//Jay