| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: API: Dokument schreibgeschützt öffnen (2340 mal gelesen)
|
Armin B Mitglied Software Engineer ERP/PLM/CAD
Beiträge: 203 Registriert: 04.09.2000 CAD-Erfahrungen als Entwickler: SolidWorks seit 97plus Solid Edge seit V12 Siemens/Unigraphics seit NX AutoCAD seit R12 Inventor seit R5
|
erstellt am: 29. Aug. 2002 11:09 <-- editieren / zitieren --> Unities abgeben:
Hallo @all, suche verzweifelt nach einer Methode Dokumente (alle Typen) in SE schreibgeschützt zu öffnen. Bekanntermaßen gibt es ja im Datei-Öffnen-Dialog eine entsprechende Option, in der API hab ich das entsprechende Gegenstück aber nicht gefunden. Irgendjemand, der mir weiterhelfen kann? Danke und Gruß, Armin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
smitsch Mitglied
Beiträge: 55 Registriert: 31.03.2001 Solid Edge V16 & Insight Sharepoint Portal Server <P>Der Mensch hat die Atombombe erfunden. Keine Maus der Welt käme auf die Idee, eine Mausefalle zu konstruieren.
|
erstellt am: 29. Aug. 2002 15:50 <-- editieren / zitieren --> Unities abgeben: Nur für Armin B
Hallo, das Handbuch gibt folgende Hilfe her: ----------------------------------------------------------- Object.Open(Filename, OpenReadOnly) Elements Object—Required. The object to which the method applies. Filename—Required String (input). Specifies the name of a file to be opened. OpenReadOnly—Optional Boolean (input). Specifies if the file is to be opened as a read-only file. The default value is set to False. If the value is set to True, the file will be opened as read-only. ----------------------------------------------------------- Ich hoffe es hilft! Tschau
Stefan
------------------ Stefan Mitsch UNITEC Informationssysteme GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Armin B Mitglied Software Engineer ERP/PLM/CAD
Beiträge: 203 Registriert: 04.09.2000 CAD-Erfahrungen als Entwickler: SolidWorks seit 97plus Solid Edge seit V12 Siemens/Unigraphics seit NX AutoCAD seit R12 Inventor seit R5
|
erstellt am: 29. Aug. 2002 15:56 <-- editieren / zitieren --> Unities abgeben:
Hallo Stefan, knapp daneben ist auch vorbei. Object.Open( Filename, ReadOnly) gehört zum Objekt PropertySets. Damit könnte man dann lesend auf die Dateieigenschaften zugreifen. Diese Methode öffnet aber leider nicht die Datei in SE. Die passende Methode zum Öffnen der Date wäre: Object.Open(Filename, DocRelationAutoServer, AltPath, RecognizeFeaturesIfPartTemplate) ... Aber vielleicht fällt Dir ja noch was anderes ein. Trotzdem danke. Gruß, Armin
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TBH Mitglied Konstrukteur
Beiträge: 7 Registriert: 13.08.2002
|
erstellt am: 30. Aug. 2002 16:40 <-- editieren / zitieren --> Unities abgeben: Nur für Armin B
Armin B, Bekanntermaßen gehört der Dialog Öffnen zu Windows, nicht zu Solid Edge. Declare Function SetFileAttributes Lib "kernel32.dll" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long FILE_ATTRIBUTE_ARCHIVE = &H20 FILE_ATTRIBUTE_HIDDEN = &H2 FILE_ATTRIBUTE_NORMAL = &H80 FILE_ATTRIBUTE_READONLY = &H1 FILE_ATTRIBUTE_SYSTEM = &H4 Dim fileattrs As Long Dim retval As Long ' return value ..... fileattrs = FILE_ATTRIBUTES_HIDDEN Or FILE_ATTRIBUTES_READONLY ' mehrere Attribute mit OR trennen retval = SetFileAttributes("C:\Test.par", fileattrs) ' liefert 1 bei Erfolg, 0 bei Fehler .....
Alternativ kannst du auch die Attributeseigenschaft des File Objects aus dem FileSystemObject einsetzen (Projekt-Verweise-Microsoft Scripting Runtime). pablo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Armin B Mitglied Software Engineer ERP/PLM/CAD
Beiträge: 203 Registriert: 04.09.2000 CAD-Erfahrungen als Entwickler: SolidWorks seit 97plus Solid Edge seit V12 Siemens/Unigraphics seit NX AutoCAD seit R12 Inventor seit R5
|
erstellt am: 02. Sep. 2002 09:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Pablo, ist alles bekannt und kalter Kafee... Sorry, aber ich glaube, ich habe mich vielleicht nicht klar genug ausgedrückt. Deshalb nochmal was ich erreichen will. Mein Programm soll ein Solid Edge Dokument schreibgeschützt öffnen. Dabei soll die Datei selbst nicht schreibgeschützt sein, damit andere Anwender die Datei schreibbar öffnen können. Der Anwender soll nicht interaktiv eingreifen können, also kein FileOpen-Dialog, keine weitere Nachfrage. Nach intensiver Suche nach weiteren Möglichkeiten, habe ich mittlerweile fast aufgegeben. Es scheint so, als hätten die Entwickler diese Funktionalität in der API einfach vergessen. (Andere CAD-Systeme bieten diese Möglichkeit fast immer) Trotzdem, sollte noch jemand einen Tipp haben, immer her damit. Danke, viele Grüße, Armin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TBH Mitglied Konstrukteur
Beiträge: 7 Registriert: 13.08.2002
|
erstellt am: 02. Sep. 2002 21:54 <-- editieren / zitieren --> Unities abgeben: Nur für Armin B
|
Ex-Mitglied | |
Armin B Mitglied Software Engineer ERP/PLM/CAD
Beiträge: 203 Registriert: 04.09.2000 CAD-Erfahrungen als Entwickler: SolidWorks seit 97plus Solid Edge seit V12 Siemens/Unigraphics seit NX AutoCAD seit R12 Inventor seit R5
|
erstellt am: 27. Nov. 2002 09:40 <-- editieren / zitieren --> Unities abgeben:
Hallo Reza, endlich mal eine qualifizierte Nachfrage zu meinem Beitrag :-) Also es geht mir schon darum, dass eine Datei von einem Anwender, der nicht dazu berechtigt ist, auch nicht gespeichert werden darf. Also nicht nur die Geometrie, sondern auch sämtliche Meta-Daten sollten nicht veränderbar sein. Dies kann man in manchen CAD-Systemen dadurch lösen, dass man bei jeder Veränderung per API ein Veto einlegt (Du weißt, welches ich meine). Andere Systeme lassen es zu beim Speichern-Event einen Fehler zurückzugeben, damit nicht gespeichert wird. Wäre auch ganz ok. Noch andere CAD-Systeme ermöglichen ein schreibgeschütztes Öffnen eines Dokumentes, oder sogar Setzen und Aufheben des Schreibschutzes im geöffneten Dokument, was ich allerdings für fragwürdig halte. Leider bietet Solid Edge keine der genannten Möglichkeiten, oder habe ich etwas übersehen? Zur Zeit präferiere ich daher den Weg über Insight, also Nutzung des dort vorhandene Locking-Mechnismus. Habt ihr (PROCAD?)damit Erfahrung? Gruß, Armin [Diese Nachricht wurde von Armin B am 27. November 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied | |
Armin B Mitglied Software Engineer ERP/PLM/CAD
Beiträge: 203 Registriert: 04.09.2000 CAD-Erfahrungen als Entwickler: SolidWorks seit 97plus Solid Edge seit V12 Siemens/Unigraphics seit NX AutoCAD seit R12 Inventor seit R5
|
erstellt am: 28. Nov. 2002 11:25 <-- editieren / zitieren --> Unities abgeben:
Hallo Reza, Zitat: Original erstellt von Reza Habibi: Dies ist unser eigenes CAD System und da haben wir es schon vor langer Zeit realisiert. [/B]
Ja, das auch. Aber eigentlich meinte ich Inventor Deine Vorschläge habe ich auch schon allesamt durchforstet und leider keinen Erfolg gehabt. Gib dir Bescheid, wenn ich weiterkomme. Viele Grüße, Armin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |