Hallo!
Ich habe ein Programm geschrieben, dass die Komponente ChartFX benutzt. Da das Programm ohne Registrierung der Komponente auf Delphi-losen Rechner nicht läuft, muss dies beim Start passieren.
Ich habe bisher folgenden Code:
shellexecute(application.Handle,nil,PChar('regsvr32 /s -'+ExtractfilePath(Application.Exename)+'cfx32.ocx'),nil,nil,SW_Shownormal);
Leider kann ich im Moment nicht testen ob das klappt, weil ich ja schon Delphi drauf habe..
Dann wäre es noch schön, wenn man prüfen könnte, ob die Komponente schon da ist.. Man muss ja nicht bei jedem Start registrieren!
Folgender Code hat übrigens nicht geklappt:
Delphi-Quellcode:
var hLib : Cardinal;
proc :
function : HRESULT;
hLib := LoadLibrary('
e:\Borland\dcube.ocx');
if hLib = 0
then
raise Exception.Create('
dcube.ocx bla bla');
try
proc := GetProcAddress(hLib, '
DLLRegisterServer'); arbeiten.
if Assigned(proc)
then
OleCheck(proc());
finally
FreeLibrary(hLib);
end;