| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| 3DEXPERIENCE SOLIDWORKS: Ihre Konstruktionslösung der nächsten Generation |
Autor
|
Thema: Wie programmiert man einen Timer (VB) (2023 mal gelesen)
|
Joshua63 Mitglied Maschinenbautechniker
Beiträge: 371 Registriert: 08.11.2006 W10 SP1 Intel i7 8700K Quatro P4000 32GB RAM SW 2021 SP4.1 SWX PDM Professional 2021
|
erstellt am: 12. Mai. 2014 17:50 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, kann mir jemand helfen einen Timer zu Programmieren ? unser Makro verliert das aktivierte Objekt wenn das Makro eine Weile offen ist und nicht bearbeitet wird.. Das Makro hängt sich dann in der Zeile Set swApp = CreateObject("SldWorks.Application") auf. Das ist erst seit W7 der Fall. Mir wurde geraten den Befehl CreateObjekt nach einiger Zeit mit einem Timer neu aufzurufen. Ich hab leider keine Ahnung wie das geht. In paar Code-Zeilen wären sehr hilfreich, da ich kein VBA kann. Das Makro ist sozusagen von einem Laien zusammen gestückelt :-) Gruß
------------------ Viele Wege führen zum Ziel .......... und ich will alle wissen ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rigobert Mitglied Konstrukteur
Beiträge: 239 Registriert: 21.11.2001 SWX 2017x64-Edition SP 4.1
|
erstellt am: 13. Mai. 2014 07:00 <-- editieren / zitieren --> Unities abgeben: Nur für Joshua63
Guten Morgen Joshua63, die Hilfe behauptet dies: Dim Pausenlänge, Start, Ende, Gesamtdauer If (MsgBox("5 Sekunden Pause?", 4)) = vbYes Then Pausenlänge = 5 ' Dauer festlegen. Start = Timer ' Anfangszeit setzen. Do While Timer < Start + Pausenlänge DoEvents ' Steuerung an andere Prozesse ' abgeben. Loop Ende = Timer ' Ende festlegen. Gesamtdauer = Ende - Start ' Gesamtdauer berechnen. MsgBox "Die Pause dauerte " & Gesamtdauer & " Sekunden" Else End End If Gruß Andreas ------------------ Gruß Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Joshua63 Mitglied Maschinenbautechniker
Beiträge: 371 Registriert: 08.11.2006 W10 SP1 Intel i7 8700K Quatro P4000 32GB RAM SW 2021 SP4.1 SWX PDM Professional 2021
|
erstellt am: 13. Mai. 2014 10:19 <-- editieren / zitieren --> Unities abgeben:
Hi Andreas, ja das hab ich auch gefunden. Das Beispiel unterbricht doch die Anwendung für eine bestimmte Zeit. Ich habe keine Ahnung wie ich das für meinen Fall verwenden kann. Ich möcht doch ein Commando aufrufen und nicht das Makro unterbrechen. Gruß Martin ------------------ Viele Wege führen zum Ziel .......... und ich will alle wissen ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rigobert Mitglied Konstrukteur
Beiträge: 239 Registriert: 21.11.2001 SWX 2017x64-Edition SP 4.1
|
erstellt am: 13. Mai. 2014 12:20 <-- editieren / zitieren --> Unities abgeben: Nur für Joshua63
da wo Do events steht kannst Du Deinen Code ausführen. Und springst anschliessend wieder an den Anfang. Es gibt auch ein Steuerelement Timer das in festgelegten Zeitabständen ein Ereignis aufruft. Den Verweis dazu habe ich aber leider nicht parat. Habe es nur mal in VB2010 benutzt. Ich hoffe Du kommst trotzdem weiter. Wenn ich den Verweis finde melde ich mich noch einmal. ------------------ Gruß Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 14. Mai. 2014 08:21 <-- editieren / zitieren --> Unities abgeben: Nur für Joshua63
Hallo Joshua, Zitat: Original erstellt von Joshua63: unser Makro verliert das aktivierte Objekt wenn das Makro eine Weile offen ist und nicht bearbeitet wird.. Das Makro hängt sich dann in der Zeile Set swApp = CreateObject("SldWorks.Application") auf. Das ist erst seit W7 der Fall. Mir wurde geraten den Befehl CreateObjekt nach einiger Zeit mit einem Timer neu aufzurufen.
Hm, Makro würde ich denke das es sich um eine SolidWorks Makro handelt, da würde ich dann lieber Set swApp = Application.SldWorks Statt des CreateObject nehmen. Viellleicht ist das ja schon für euren Anwendungsfall stabiler. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Joshua63 Mitglied Maschinenbautechniker
Beiträge: 371 Registriert: 08.11.2006 W10 SP1 Intel i7 8700K Quatro P4000 32GB RAM SW 2021 SP4.1 SWX PDM Professional 2021
|
erstellt am: 14. Mai. 2014 13:14 <-- editieren / zitieren --> Unities abgeben:
Hi Stefan, hat leider nicht geklappt, hängt sich immer noch auf. Es ist von Grundgerüst her dein Schriftfeldmakro, aber viel umfangreicher und unproffesioneller zusammen geflickt :-) Das Problem habe ich erst seit W7. Wie schon gesagt kommt das Problem erst wenn das Makro gestartet wurde und eine Weile offen stehen bleibt. Bearbeitet man es ganz normal ab läuft es problemlos. Ich habe es mal angehängt (original .swp). Das SWX-Modell sollte folgenden Dateinamen haben: M12314-010-001-xxxxx Ich habe es jetzt über Mittag offen gelassen (ca. 2Std.), vielleicht kann es jemand mal testen. Gruß
------------------ Viele Wege führen zum Ziel .......... und ich will alle wissen ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |