| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | SOLIDWORKS Grundlagen - Online-Live, ein Seminar am 27.07.2026
|
|
Autor
|
Thema: API - Formular in der DLL öffnen (2498 mal gelesen)
|
maico777 Mitglied

 Beiträge: 16 Registriert: 04.08.2003
|
erstellt am: 04. Aug. 2003 15:46 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe eine Frage zur API  -Programmierung. Also eigentlich ist es mehr eine VB-Frage: Ich möchte eine DLL programmieren aber ich schaffe es einfach nicht aus dem Klassenmodul eine Form zu laden. Mit Load Form1 Form1.Show geht es nicht! Vielleicht bin ich zu blöde aber, was mach ich falsch???????? HILFE!!!!!! MFG
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dr Mitglied CAD-/PLM-Entwickler und -Berater

 Beiträge: 87 Registriert: 30.10.2001
|
erstellt am: 05. Aug. 2003 09:15 <-- editieren / zitieren --> Unities abgeben:          Nur für maico777
Moin! Ich hab's noch nicht ausprobiert (normalerweise arbeite ich nicht mit VBA, sondern mit C und C++), aber ich würde erwarten, dass es bei einer DLL nicht so ohne weiteres funktioniert. Sowohl die Forms als auch SolidWorks fangen Events ab und benötigen daher eine Event-Loop. Normalerweise kann es aber nur eine Event-Loop in einem Prozess geben... (Wenn ich mich recht erinnere, kann man über einige API -Funktionen an Windows-Handles kommen. Mit denen könnte man dann wieder etwas anfangen...) Hast Du schonmal versucht, Dein VB-Programm als .EXE und nicht als .DLL zu erstellen? Dann dürftest Du mit Forms etc. keine Probleme haben... Kann wie gesagt totaler Quatsch sein, aber versuch's mal... Gruß, Danny ------------------ Danny Reinhold Reinhold Software & Services
[Diese Nachricht wurde von dr am 05. August 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel Mitglied
 
 Beiträge: 169 Registriert: 05.09.2000
|
erstellt am: 05. Aug. 2003 10:30 <-- editieren / zitieren --> Unities abgeben:          Nur für maico777
Auch Moin, falsch machst du nix. Bei mir geht es jedenfalls. Versuch doch mal das Load Form1 wegzulassen. Ich mache das immer ohne, weil das Form1.Show von alleine lädt. Ansonsten hab ich da nix besonderes gemacht. Meine Forms sind allerdings alle Dialoge, d.h. ohne Button in der Taskleiste, vielleicht mag eine DLL keine Standard-Forms haben.
------------------ Axel Dengler SolidLine AG Hamburg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dr Mitglied CAD-/PLM-Entwickler und -Berater

 Beiträge: 87 Registriert: 30.10.2001
|
erstellt am: 05. Aug. 2003 10:39 <-- editieren / zitieren --> Unities abgeben:          Nur für maico777
Und moin nochmal, Stimmt - ich hab' tatsächlich Blödsinn geschrieben. Geht natürlich doch... Übrigens habe ich es jetzt auch ohne explizites Load probiert... @Alex: Danke für die Korrektur! Gruß, Danny ------------------ Danny Reinhold Reinhold Software & Services
[Diese Nachricht wurde von dr am 05. August 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
maico777 Mitglied

 Beiträge: 16 Registriert: 04.08.2003
|
erstellt am: 05. Aug. 2003 11:10 <-- editieren / zitieren --> Unities abgeben:         
könnte jemand ein Beispiel posten der funktioniert. Bitte! Bei mir will es einfach nicht gehen. Die DLL erzeugt ein Top-Down Menü im SolidWorks. Wenn ich daruf klicke sollte das Formular (frmORing) erscheinen, kommt aber nichts!!!!! HEEELLPPPP!!!!! [Diese Nachricht wurde von maico777 am 05. August 2003 editiert.] 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: 05. Aug. 2003 11:21 <-- editieren / zitieren --> Unities abgeben:          Nur für maico777
|
maico777 Mitglied

 Beiträge: 16 Registriert: 04.08.2003
|
erstellt am: 05. Aug. 2003 11:45 <-- editieren / zitieren --> Unities abgeben:         
|
dr Mitglied CAD-/PLM-Entwickler und -Berater

 Beiträge: 87 Registriert: 30.10.2001
|
erstellt am: 05. Aug. 2003 11:54 <-- editieren / zitieren --> Unities abgeben:          Nur für maico777
Hmmm.... Ich habe Dein kleines Beispiel ausprobiert. Es funktioniert tadellos... Bindest Du die DLL richtig in SWX ein? Ich habe Deine ZIP-Datei nach E:\tmp entpackt und mit dem anhängenden File (Doppelklick) in der Registry registriert. (Ggf. Pfade anpassen!) Danach konnte ich die DLL in SWX über Extras/Zusatzanwendungen einbinden und auch das Form sehen... Gruß, Danny
------------------ Danny Reinhold Reinhold Software & Services Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
maico777 Mitglied

 Beiträge: 16 Registriert: 04.08.2003
|
erstellt am: 05. Aug. 2003 13:02 <-- editieren / zitieren --> Unities abgeben:         
|
INKN Mitglied Consulant/Softwareentwickler
 
 Beiträge: 277 Registriert: 22.08.2001 SolidWorks 2015-2018 Lino 3D layout 2.2<P>Visual Studio 2017
|
erstellt am: 05. Aug. 2003 13:06 <-- editieren / zitieren --> Unities abgeben:          Nur für maico777
Hi, bei mir läuft Deine DLL auch sauber, aber ich habe ein ähnliches Problem, wenn man während einer Eventbehandlung ein Dialog öffnen will, kommt bei 1. nur .show das Fenster aber das Programm läuft weiter 2. .show vbModal kommt das Fenster garnicht hoch, aber Programm bleibt stehen Gib es irgendwelche Hinweis zu diesem Verhalten! Gruß Ingo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |