Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Solid Edge
  Multithreading in SE

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge
Autor Thema:  Multithreading in SE (580 mal gelesen)
max-300
Mitglied


Sehen Sie sich das Profil von max-300 an!   Senden Sie eine Private Message an max-300  Schreiben Sie einen Gästebucheintrag für max-300

Beiträge: 8
Registriert: 07.06.2006

erstellt am: 07. Jun. 2006 16:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,
ich habe ein Programm (VB6) laufen, welches eine grosse Anzahl von dft Dateien konvertiert.
Oft kommt es jedoch vor, dass das Öffnen einer dft in SE sehr lange dauert.
Ich möchte deshalb diese Aufgabe in einem eigenen Prozess (Multithreading) laufen lassen.
Hat jemand Erfahrung, wie man sowas in VB einbindet bzw. gibt es hierfür Tutorials?
Vielen Dank für eure Hilfe.
Markus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

modeng
Ehrenmitglied V.I.P. h.c.



Sehen Sie sich das Profil von modeng an!   Senden Sie eine Private Message an modeng  Schreiben Sie einen Gästebucheintrag für modeng

Beiträge: 7061
Registriert: 10.12.2003

erstellt am: 07. Jun. 2006 16:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für max-300 10 Unities + Antwort hilfreich

Moin,

die Gesamtzeit fuer das Konvertieren wird laenger bleibt zumindest
gleich: es ist nur ein Prozessor vorhanden (vermutlich).
Ausserdem: SE ist IMHOIn my humble oppinion (Meiner Meinung nach) nicht reentrant also nicht multitasking faehig
das wuerde bedingen das jede der Tasks ein eigenes SE starten muesste
(was nebenbei geht) und das wiederum duerfte ab einer gewissen Anzahl
zu erheblichem Paging fuehren

Meine 0,02 cts

modeng

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BJ
Mitglied
PLM System Administrator


Sehen Sie sich das Profil von BJ an!   Senden Sie eine Private Message an BJ  Schreiben Sie einen Gästebucheintrag für BJ

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 07. Jun. 2006 16:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für max-300 10 Unities + Antwort hilfreich

Hallo,

echtes Multithreading geht in VB6 nicht - einzige Abhilfe: DoEvents

Eventuell kannst du deinen Code solange anhalten, bis das Dok geöffnet ist (zB. Do/Loop-Schleife mit Abfrage).

Gruß,
BJ

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

max-300
Mitglied


Sehen Sie sich das Profil von max-300 an!   Senden Sie eine Private Message an max-300  Schreiben Sie einen Gästebucheintrag für max-300

Beiträge: 8
Registriert: 07.06.2006

erstellt am: 07. Jun. 2006 16:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,
erstmal danke für die schnellen Antworten.

BJ: Wie kann ich nen Event-Listener in VB implementieren?
Ich hab SE als ADO-Objekt eingebunden.
Sobald der Öffnen Befehl
(set ObjSolEdgDoc = ObjSolEdgApp.Documents.Open(tmpfile))
ausgeführt wird, stoppt der Debugger bis das ganze File in SE offen ist.
Das ist mein Problem - während dieser Zeit würde ich gerne UserClicks abfangen und ne Meldung ausgeben.

Danke und Grüße
Markus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BJ
Mitglied
PLM System Administrator


Sehen Sie sich das Profil von BJ an!   Senden Sie eine Private Message an BJ  Schreiben Sie einen Gästebucheintrag für BJ

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 07. Jun. 2006 17:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für max-300 10 Unities + Antwort hilfreich

so zB:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds&)

bolOK = False
Do
  DoEvents
  '-> hier was zu tun ist
  Sleep 50  'damit Events verarbeitet werden können
Loop Until bolOK = True

Gruß,
BJ

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

max-300
Mitglied


Sehen Sie sich das Profil von max-300 an!   Senden Sie eine Private Message an max-300  Schreiben Sie einen Gästebucheintrag für max-300

Beiträge: 8
Registriert: 07.06.2006

erstellt am: 10. Aug. 2006 07:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Melde mich nach längerer Zeit nochmal mit der Lösung:
Ich habe ne ActiveX-Exe entworfen und arbeite damit. Das funzt prima und mein Prog hat den Kopf frei für andere Sachen, während das Filehandling über die ActiveX-Exe abgewickelt wird.

Viele Grüße
Markus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz