Autor
|
Thema: Splashscreen in CATVBA (1138 mal gelesen)
|
lles Mitglied Admin
Beiträge: 110 Registriert: 22.09.2006 Guter PC mit Windows und Grafik Kadde
|
erstellt am: 01. Sep. 2008 09:58 <-- editieren / zitieren --> Unities abgeben:
Hi, ich versuche in CATVBA ein Splashscreen zu erzeugen. Beim Macrostart werden ein paar Sachen abgeprüft bzw. Produkte nachgeladen. Dabei soll eine Dialogbox (keine MsgBox) auf den Ladevorgang hinweisen. Nach dem Ladevorgang soll sie selbst wieder verschwinden, ohne das man einen Button drücken muss. Hat jemand eine Idee wie man die Dialogbox nach einer Zeit wieder von allein verschwinden lassen kann? Gruß lles Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 01. Sep. 2008 13:31 <-- editieren / zitieren --> Unities abgeben: Nur für lles
Me.Show in den Form_Load und nach der Verarbeitung Unload Me BorderStyle dann auf 0, damit keine Kreuzchen und so zu sehen sind. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lles Mitglied Admin
Beiträge: 110 Registriert: 22.09.2006
|
erstellt am: 01. Sep. 2008 20:28 <-- editieren / zitieren --> Unities abgeben:
Funktioniert irgendwie nicht so richtig bei mir. Ich rufe meinen Splash-Screen (Dialogbox) mit "UserForm.Show" von einem Modul aus auf. Wo befindet sich dann der Programmcode bzw. welches Ereignis kann ich empfangen, um die Dialogbox wieder zu schließen? P.S.: Das Kreuzchen (BorderStyle=0) ist nach wie vor da. Hat das irgendeinen Einfluß? Gruß
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 02. Sep. 2008 08:31 <-- editieren / zitieren --> Unities abgeben: Nur für lles
Hallo, die Dialogbox müsste immer und überall aufrufbar sein, wenn sie direkt angesprochen wird (UserForm.xxx). Sobald du deine Parameter, Variablen, etc. geladen hast kannst du im quellcode direkt mit UserForm.hide dein Splash-screen wieder ausblenden. Ereignisse für deine Form gibt es einige, z.B. Private Sub Form_KeyPress(KeyAscii As Integer)... Bei BorderStyle=0 dürfte eigentlich kein Rahmen mehr angezeigt werden, d.h. auch kein "Kreuzchen" mehr. grüße Dominik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 02. Sep. 2008 08:35 <-- editieren / zitieren --> Unities abgeben: Nur für lles
also ich starte mit dem Splash-Screen als Hauptformular, welches sich selbst in den Show schiebt beim Load und nach dem Show die Main Funktion meines Moduls aufruft. Ist die Main durchgelaufen landet der Vorgang wieder im Formular und dort steht dnan ein Unload. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lles Mitglied Admin
Beiträge: 110 Registriert: 22.09.2006
|
erstellt am: 03. Sep. 2008 09:54 <-- editieren / zitieren --> Unities abgeben:
Bei mir in CATIA VBA gibts keine Load oder Unload Ereignisse. Verwendet Ihr auch den VBA Editor von CATIA oder erzeugt Ihr in MS Visual Basic 6.0 eine eigenständige Anwendung (Exe-Datei)? Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 03. Sep. 2008 10:55 <-- editieren / zitieren --> Unities abgeben: Nur für lles
Ich arbeite mit Visual Basic 6.0 und erzeuge mir eigenständige Programme (*.exe). Somit bin ich "unabhängiger". Ein Umstieg auf VB ist einfach, da der Quelltext weitgehend gleich ist. Es müssen nur einige CATIA-Variablen als Objekte definiert werden. grüße Dominik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 03. Sep. 2008 11:30 <-- editieren / zitieren --> Unities abgeben: Nur für lles
Also Private Sub UserForm_Initialize()
Me.Show vbModeless functions.CATMAIN Unload Me End Sub tut bei mir Und natürlich erzeugen wir Exen. Das mit dem Kreuzchen funktioniert wirklich nicht, aber CATVBA ist halt eben nicht VB6.0 ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lles Mitglied Admin
Beiträge: 110 Registriert: 22.09.2006
|
erstellt am: 04. Sep. 2008 22:59 <-- editieren / zitieren --> Unities abgeben:
OK, ich sehe schon, mit compilierten VB6 Exe-Dateien habe ich mehr Möglichkiten. Nun zur Variablendefinition: Public CATIA As Object Set CATIA = CreateObject("CATIA.Application") Das fkt. ja noch, aber wie definiere ich andere Variablen des Typs, Document, Selection, Product etc.? Public Document As Object Set Document = CreateObject("CATIA.Document") gibt mir beim Ausführen die Fehlermeldung "Objekterstellung durch ActiveX-Komponente nicht möglich" Im ../bin Verzeichnis habe ich einen CNEXT.EXE -regserver durchgeführt. Bitte um Hilfe für meine ersten VB6 Versuche mit CATIA zu kommunizieren. Gruß
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 05. Sep. 2008 08:39 <-- editieren / zitieren --> Unities abgeben: Nur für lles
Hallo, am besten alle Varialben als 'Object' definieren, außer z.B. Arrays... Dim CATIA As Object Dim oMainProduct As Object Dim oMainProducts As Object Set CATIA = GetObject(, "CATIA.Application") If CATIA Is Nothing Then MsgBox "Keine CATIA Sitzung gefunden", vbInformation, "Keine CATIA Sitzung" Exit Sub end if Debug.Print CATIA.ActiveDocument.Name & "; " & TypeName(CATIA.ActiveDocument) ... das sollte dir als Einstieg helfen, ein geöffnetes Dokument auszulesen. grüße Dominik
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lles Mitglied Admin
Beiträge: 110 Registriert: 22.09.2006
|
erstellt am: 05. Sep. 2008 09:32 <-- editieren / zitieren --> Unities abgeben:
Hört sich schon mal gut an. Werde ich dann mal testen. Wo sollte am besten der Code stehen, in dem Form_Load, Form_Initialize oder in einem eigenem Modul, oder spielt das keine Rolle? Gruß lles
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 05. Sep. 2008 09:43 <-- editieren / zitieren --> Unities abgeben: Nur für lles
Hallo lles, eigentlich spielt das keine Rolle. Ich mache es so, dass ich mir auf meiner Form ein Start-Button erstelle und dort im _Click-Ereignis den Ablauf drin stehen habe. Somit kann ich dann den Anwender noch diverse Einstellungen im Programm vornehmen lassen, bevor er den Vorgang startet. Grüße Dominik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |