Autor Beitrag
firstfriday
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 18.03.09 19:43 
Hallo,
ich habe Probleme die Typenbibliothek von Adobe InDesign zu verwenden.

Nachdem ich sie importiert habe kann ich

CoApplication.Create;

nicht aufrufen. Meldet die Klasse ist nicht registriert.

Ich suche einen Weg NICHT oIndesign:=CreateOleObject('InDesign.Application');
zu verwenden, weil ich dann keine Befehlsvorschau im Editor habe.

Kann mir da jemand einen Tipp geben?

Merci
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1337
Erhaltene Danke: 119

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Mi 18.03.09 20:08 
Poste mal den vollständigen Header deiner TypeLib. In den meißten Fällen ist da was zu finden um an CreateOleObject vorbeizukommen.

Du kannst dir auch das : www.delphi-forum.de/viewtopic.php?t=90789 mal anschauen, da ging es im grunde um das gleiche problem bloß mit einer anderen TypeLib.

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
firstfriday Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 18.03.09 20:30 
ja, habe ich schon gelesen. hat mir leider nichts gebracht.
hier der header:
Einloggen, um Attachments anzusehen!
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1337
Erhaltene Danke: 119

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Do 19.03.09 14:54 
Also, soweit ich das sehe muss das klappen wie du es versucht hast.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure Foo;
var
  inDesign: _Application;

begin
  inDesign := CoApplication.Create;
  // oder :
  inDesign := CreateComObject(CLASS_Application) as _Application;
  // oder :
  indesign := CreateOleObject('InDesign.Application'as _Application;
end;

Ist das nicht der Fall gibt es dafür einige Ursachen.
- Die TypeLib wurde nicht korrekt in Delphi importiert, darauf deutet nichts hin!
- Die Funktionalität die mit der TypeLib veröffentlicht wird ist auf deinem Rechner nicht registriert. Denn du hast ja aus einer TLB importiert, nicht aus einem AxtiveX Kontainer oder einer sonstigen Dll wo die Registrierung beim Import gleich mit erledigt wird.

Wenn es dann noch nicht klappt, brauche ich den Text der Fehlermeldung (kannst du mit STRG+C in die Zwischenablage kopieren wenn dir die Meldung angezeigt wird)

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
firstfriday Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 19.03.09 23:53 
Hallo Stefan,

danke für Deine Unterstützung. Es ist seltsam, aber die generierte TGUID war falsch.

ausblenden Delphi-Quelltext
1:
2:
//CLASS_Application: TGUID = '{296CAEB5-C99C-4B3E-9359-6E7D6EAE71FC}'; falsch
CLASS_Application: TGUID = '{1041D8C8-B5E8-49C1-A0DD-9E593B1EB5D5}';


Die funktionierende TGUID habe ich aus der Registry.

Gruß
Edgar