Hallo
Ich lese den wert
CLSID aus der Registry aus.
Delphi-Quellcode:
BassWMPVis1.FCLSID := PRegKey.ReadString('classid');
BassWMPVis1.SetCLSID(BassWMPVis1.FCLSID);
dieser wird mir als string folgendermaßen übergeben.
clsid:0AA02E8D-F851-4CB0-9F64-BBA9BE7A983D
Um das ComObj zu laden springe ich in diese procedure.
wmpVizInfo.LoadWMPPlugin(BassWMPVis1.CLSID);
Delphi-Quellcode:
procedure TBassWMPVis.LoadWMPPlugin(sCLSID: string);
Var
oCom : TObject;
comObjType : OLEVariant;
isValidVizObject : boolean;
begin
oCom := nil;
isValidVizObject := False;
try
comObjType := CreateOleObject(sCLSID)
except
end;
end;
Hier!
comObjType := CreateOleObject(sCLSID)
gibt er mir nun folgenden fehler aus.
Üngültige Klassenzeichenfolge.
Ich denke das hängt mit der übergabe des strings zusammen
clsid:0AA02E8D-F851-4CB0-9F64-BBA9BE7A983D sollte eigentlich so aussehen {0AA02E8D-F851-4CB0-9F64-BBA9BE7A983D}
warum wird mir der string nicht so aus der Registrie übergeben ?
EDIT:
Oder kann man die
CLSID nicht an CreateOleObject übergeben?
Hat sich erledigt! Will ja das ComObject nicht das OleObj ansprechen!
benötige dafür also CreateComObject(sCLSID);
Gruss Emil