Autor
|
Thema: Property ObjectExtentX1 geht nicht (1279 mal gelesen)
|
lacerda Mitglied IT Beauftragter
Beiträge: 3 Registriert: 28.10.2007
|
erstellt am: 28. Okt. 2007 08:40 <-- editieren / zitieren --> Unities abgeben:
Hallo, warum gibt mir der folgende Code einen Laufzeitfehler(-8, ffffff8) zurück? Code:
Dim SpicerDocCtrl As Object Set SpicerDocCtrl = CreateObject("SPICERDOCUMENT.DocCtrl.1") SpicerDocCtrl.OpenFile "E:\Projekte\vb6\Tests\Spicer\jaguar2.plt" Label1.Caption = SpicerDocCtrl.ObjectExtentX1(0, 2) Set SpicerDocCtrl = Nothing
Grüße Hans-J. Fritz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
supportkisters Mitglied
Beiträge: 48 Registriert: 07.10.2002
|
erstellt am: 29. Okt. 2007 10:44 <-- editieren / zitieren --> Unities abgeben: Nur für lacerda
Hallo Herr Fritz, der erste Parameter von ObjectExtentX1 darf nicht 0 sein, sondern muss eine gültige Page- o. LayerID sein. Gruss Rolf Gerne dürfen Sie sich aber auch bei uns melden. Meine Durchwahl sollte Ihnen noch bekannt sein Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lacerda Mitglied IT Beauftragter
Beiträge: 3 Registriert: 28.10.2007
|
erstellt am: 29. Okt. 2007 13:04 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke für die schnelle Hilfe, aber leider führte Ihr Hinweis nicht zum Erfolg. Es kommt zwar keine Fehlermeldung mehr, aber ObjectExtent.. liefert immer 0. Code:
Dim lPageID As Long Dim SpicerDocCtrl As Object Set SpicerDocCtrl = CreateObject("SPICERDOCUMENT.DocCtrl.1") SpicerDocCtrl.OpenFile "E:\Projekte\vb6\Tests\Spicer\jaguar2.plt" With SpicerDocCtrl lPageID = .FirstPageID 'lPageID = .PageID(1) Label1.Caption = Str$(lPageID) Label2.Caption = Str$(.ObjectExtentX2(lPageID, 2)) End With Set SpicerDocCtrl = Nothing
Was mache ich noch falsch? Danke schonmal. Hans-J. Fritz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
supportkisters Mitglied
Beiträge: 48 Registriert: 07.10.2002
|
erstellt am: 29. Okt. 2007 14:36 <-- editieren / zitieren --> Unities abgeben: Nur für lacerda
Hallo nochmal, selbst bei einem einfachen einseitigen Dokument muss über das View-Control explizit zu der entsprechenden Seite gegangen werden. Code:
Dim lPageID As Long Dim SpicerDocCtrl As Object Dim SpicerViewCtrl As Object Set SpicerDocCtrl = CreateObject("SPICERDOCUMENT.DocCtrl.1") Set SpicerViewCtrl = CreateObject("SPICERVIEW.SpicerViewCtrl.1") SpicerDocCtrl.OpenFile "E:\Support\Spicer\Samples\sextant.plt" SpicerViewCtrl.BindToDocumentControl SpicerDocCtrl SpicerViewCtrl.GotoFirstPage lPageID = SpicerDocCtrl.FirstPageID Label1(0).Caption = Str$(SpicerDocCtrl.ObjectExtentX1(lPageID, 2)) Label1(1).Caption = Str$(SpicerDocCtrl.ObjectExtentY1(lPageID, 2)) Label1(2).Caption = Str$(SpicerDocCtrl.ObjectExtentX2(lPageID, 2)) Label1(3).Caption = Str$(SpicerDocCtrl.ObjectExtentY2(lPageID, 2)) SpicerViewCtrl.BindToDocumentControl Nothing Set SpicerDocCtrl = Nothing Set SpicerViewCtrl = Nothing
Zur Zeit läuft diesbezüglich eine Anfrage bei SPICER, u.a. weil auch das nicht für alle Dateiformate funktioniert. Wenn möglich, kann man alternativ auch die Methode GetObjectExtends verwenden. Des geht allerdings nicht über das Default-Interface und ist daher z.B. nicht für Scripting verfügbar. Gruss Rolf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lacerda Mitglied IT Beauftragter
Beiträge: 3 Registriert: 28.10.2007
|
erstellt am: 29. Okt. 2007 18:19 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke für die Hilfestellung. Das habe ich befürchtet, dass es nicht ohne das Viewer Control geht. Das bedeutet, wenn ich von mehreren Dokumenten die Maße ermitteln will, muss ich für jedes Dokument zuerst ein Viewer Control binden und dann wieder entbinden. Das kann sehr zeitintensiv sein. Was die Anfrage an Spicer berifft. Geht das in die Richtung, dass man eben kein Viewer Control mehr braucht um die Properties zu ermitteln? Habe ich das richtig verstanden? Grüße Hans-J. Fritz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |