![]() |
MS Visio in Delphi integrieren
Welchen Möglichkeiten gibt es alles, Microsoft Visio in ein Delphi-Programm zu integrieren? Schön wäre es, wenn ich in mein Programm direkt so einen Visio-Zeichenbereich integrieren könnte und dort dann Formen und Verbindungen aus meinem eigenen Template draufziehen kann. Anschließend muss mein Programm die fertige Zeichnung analysieren und verarbeiten können.
Bsp: Ich möchte eine maschinelle Fertigung damit abbilden. Ich habe ein vorgefertigtes Visio-Template, das an Formen verschiedene Maschinen hat, die sich verbinden lassen. In meinem Produktionsprozess habe ich 3 Maschinen vom Typ A, 2 vom Typ B und eine vom Typ C. Ich ziehe also die entsprechenden Anzahlen auf meine Visio-Oberfläche. Anschließend will ich die Objekte dann mteinander verbinden, d.h. wenn beispielsweise Maschine_A 1 unmittelbar vor Maschine_B 2 kommt im Produktionsablauf, dass ich das dann in Visio durch einen Verbindungsstrich zwischen ihnen modelliere. Habe ich alle Objekte und deren Verbindungen zueinander platziert, möchte ich die vorhandenen Daten aus der Visio-Zeichnung auslesen und in eine Datenbank schreiben. Es gibt dann zum Beispiel eine Tabelle "Maschine_A", in der 3 Einträge gemacht werden sollen, für jede Maschine vom Typ A halt einen, für Maschinen B und C und die Verbindungen genauso. Nur wie mache ich das alles? Kernfragen sind also: - Wie integriere ich Visio in ein Delphi-Programm? Habe in dem Zusammenhang schonmal den begriff "Visio Add-Ons" aufgeschnappt, wenn das was hilft... - Wie kann ich eine Visio-Zeichnung maschinenverarbeitbar machen? Habe schonmal etwas gelesen, dass man die in XML-Form bringen kann... - Hat Visio eine API? Was bietet die so? Kann man z.B. auf so Ereignisse wie "Maschine vom Typ A auf Zeichnung platziert" reagieren? - Wie erstellt man eigene Visio-Templates? Also die Bildchen der ganzen Maschinen plus das, was sich dahinter natürlich an Daten verbirgt. |
Re: MS Visio in Delphi integrieren
Hallo Infect,
ich mir nicht ganz sicher und kann es mangels Visio gerade nicht ausprobieren, aber wenn mich mein Gedächtnis nicht trügt hat Visio eine recht gute COM-Schnittstelle und du kannst es quasi über OLE steuern. Wenn du Delphi und Visio auf deinem Rechner hast gehe mal auf "Projekt/Typbibliothek importieren" und schau mal nach ob du da was findest was nach Visio aussieht. Das Objektmodell dazu müßtest du in der MSDN finden. Ich hoffe ich habe dir irgendwie weitergeholfen |
Re: MS Visio in Delphi integrieren
Hallo UweR,
vielen Dank schonmal! Habe unter dem Punkt einige Visio-Einträge gefunden. Genauer gesagt folgende: - Visio 2000 Database Modeling Engine Type Library (Version 6.0) - Visio 2000 Type Library [Service Release 1] (Version 4.8 ) - Visio Graph 2.60 (Visio Version 6) Type Library (Version 2.3c) - Visio HTML Export Support Objects (Version 1.0) - Visio UML Add-in fpr Microsoft Visual C++ 5.0 (Version 1.0) - Visio UML Add-in fpr Microsoft Visual C++ 6.0 (Version 1.0) - Visio UML Solution for Visual Basic 1.0 Type Library (Version 1.0) - Visio UML Solution VJ++ Addin 1.0 Type Library (Version 1.0) - Visio VNOM 1.0 Type Library (Version 1.0) - Visio VPL 1.0 Type Library (Version 1.0) - Visio HelpUtils 1.0 Type Library (Version 1.0) - VisioReports 1.0 Type Library (Version 1.0) Die fett markierten hören sich für mich zumindest schonmal ganz interessant an, ohne dieses Gefühl jedoch irgendwie begründen zu können :wink: . Habe mal versucht, die Visio Type Library [SR1] zu installieren, allerdings brachte er die Fehlermeldung, dass die dort beinhaltete Klasse TMaster bereits installiert wäre. -> Welche der angegebenen Bibliotheken bieten denn wohl am ehesten etwas brauchbares für mich? -> Wie binde ich diese Bibliotheken genau ein und wie greife ich v.a. auf deren nhalt zu? Bekomme ich dann bei zusätzlichen visuellen komponenten eine extra Registerkarte mit den deuen Komponenten??? -> Was ist ein Objektmodell? :duck: |
Re: MS Visio in Delphi integrieren
Zitat:
|
Re: MS Visio in Delphi integrieren
Habe noch ein wenig recherchiert. Der Schlüssel zum Einbinden einer Visio-Oberfläche in Delphi ist wohl die Active X Control "Visio Drawing Control".
Zitat:
EDIT: Aja, das Objekt-Modell ist also die API, nur eine andre Bezeichnung, kann das sein? |
Re: MS Visio in Delphi integrieren
Zitat:
Bzw. man könnte auch mit einem klaren Jein antworten. Eina API ist normalerweise nur eine Auflistung von irgendwelchen Funktionsaufrufen und TypDeklarationen wie die WindowsAPI. Das Objektmodell beschreibt mir alle zur Verfügung stehenden Klassen mit ihren Methoden, Eigenschaften und Ereignissen und auch noch deren Beziehungen untereinander. Im Prinzip kriege ich aber von beiden Infos wie ich das nutze was ich vor mir habe. |
Re: MS Visio in Delphi integrieren
Super, danke für die Erklärung!
Habe nun folgendes herausgefunden: Ab Visio 2003 steht einem in Delphi die ActiveX-Komponente "Visio Drawing Control" zu Verfügung, die scheinbar all das beinhaltet, was ich brauche. Habe ![]() :corky: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz