DocumentManager(API) w Windev /zastępuje właściwości niestandardowe DSOFiles

Witam

Szukam przykładu, jak używać SolidWorks.Interop.swdocumentmgr.dll w Windevie, bez otwierania Solidworks. 

W Solidworks V2011 użyłem niestandardowych ustawień dokumentów Solidworks jako interfejsów z moim specyficznym ERP w Windev. Korzystałem z DsoFiles, który miał dostęp do tych ustawień. Pozwoliło mi to zaktualizować te ustawienia bez otwierania Solidworks; Przykład:

Utwórz kopię zespołu +parts +drw od jednego klienta do drugiego klienta, zmieniając wszystkie niestandardowe właściwości na te nowego klienta. Wiersze zestawienia komponentów są tworzone dynamicznie (Windev), a informacje są przekazywane przez DSOFiles do dokumentacji Solidworks. (Kopia jest kontynuowana przez zmianę nazw części i ponowne kopiowanie zależności, ale jest to część, która nadal działa w 2015 roku, ponieważ kompatybilność została zachowana, przynajmniej mam nadzieję, że :) ).

Ustawienia niestandardowe dla dokumentów Solidworks V2015 nie są już dostępne w DSoFiles -> jest to decyzja firmy Microsoft (Office), a następnie Solidworks.

Teraz musisz użyć interfejsów API biblioteki DLL SolidWorks.Interop.swdocumentmgr.dll, aby zarządzać tymi parametrami. Jest to dobrze udokumentowane w VB, ale nie mogłem nazwać tego DLL w Windev (V20). 

Potrafię bardzo dobrze korzystać z interfejsów  API jądra Solidworks :

SwAppDocDepencies jest obiektem automatyzacji dynamicznej
SwAppDocDepencies = przydziel obiekt automatyzacji "sldworks. Podanie"

Z drugiej strony, niemożliwe z SolidWorks.Interop.swdocumentmgr.dll. W ciągu 2 tygodni spróbowałem wszystkiego, co Gorąca Linia dała mi jako informacje (ale w VB.NET), wszystkiego, co znalazłem w NET... Ale w Windev nie ma nic na ten temat!

Więc nie mogę przełączyć się na V2015, dopóki nie znajdę rozwiązania!

Więc jeśli już to zrobiłeś, wyślij mi kawałek kodu, obiecuję Ci 1. pochwałę :)

Serdecznie pozdrawiam.

PS: Nie znalazłem interfejsu ERP ani domeny API, aby określić domenę zapytania

 

 

1 polubienie

Witam

Nie wydaje mi się, żeby WinDev był kompatybilny z Menedżerem Dokumentów SW.

Windev to oprogramowanie, które nie jest zbyt rozpowszechnione.

Nawiązałem współpracę z naszym systemem ERP w Vb.net roku. Wyobrażam sobie, że chcesz zachować część swojego projektu na windev. Dzięki temu możliwe jest opracowanie aplikacji w Vb.net, która będzie powiązana z aplikacją Windev.

[Edycja: ] Jakie są odpowiedzi na pytania infolinii? Czy złożyłeś wniosek o licencję, aby móc korzystać z API Document Manger?

 

Witam

Dziękuję za odpowiedź.

Nie widzę powodu, dla którego Document Manager nie miałby być kompatybilny z Windev. Aplikacja Solidworks jest łatwa w obsłudze w Windev, udało mi się przetłumaczyć wszystko, co zrobiłem w Visual na windev, zaletą jest brak interfejsu Visual.

Gorąca Linia mówi mi, że jest to wykonalne, ale wszystko wskazuje na to, że jest to VB.net.

Tak, mam klucz do użycia.

Następujące polecenia muszą być "przetłumaczone" na windev:

Importuje SolidWorks.Interop.swdocumentmgr

swClassFact = CreateObject("SwDocumentMgr.SwDMClassFactory")
swDocMgr = swClassFact. GetApplication(sLicenseKey)

Zaznaczyłem, że użyłem biblioteki DLL w Windev, tej odpowiadającej Frameworks 4 (4.5 na moim komputerze)

C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\api\redist\SolidWorks.Interop.swdocumentmgr.dll

Zarejestrowałem bibliotekę DLL zgodnie ze wskazaniami w dokumencie. :regsvr32  "<dysk>:\Program Files\Common Files\SOLIDWORKS Shared\SwDocumentMgr.dll"

Nadal otrzymuję komunikat o błędzie "SwDocumentMgr.SwDMClassFactory" nie jest zainstalowany w twoim systemie!

 

Konieczne jest również przetłumaczenie deklaracji:

Importuje SolidWorks.Interop.swdocumentmgr

-----------------------------------------------------------------------------------------------------------------------------------

Dim swClassFact jako SwDMClassFactory
Sun swDocMgr Jako SwDMApplication4

-----------------------------------------------------------------------------------------------------------------------------------

swClassFact = CreateObject("SwDocumentMgr.SwDMClassFactory")
swDocMgr = swClassFact.GetApplication(sLicenseKey)

 

 

Jak zabrać się za windev?

Czy możesz opublikować zdjęcie swojego interfejsu windev?

Witam

Co myślę, że jest poprawne, ale to nie działa.

swClassFact = CreateObject("SwDocumentMgr.SwDMClassFactory")

swClassFact jest obiektem Dynamic Automation

swClassFac = przydziel obiekt automatyzacji "wDocumentMgr.SwDMClassFactory"

-> ale odpowiada "wDocumentMgr.SwDMClassFactory" nie jest zainstalowany w twoim systemie


swDocMgr = swClassFact.GetApplication(sLicenseKey)

swDocMgr jest obiektem Dynamic Automation

swDocMgr = swClassFact>>GetApplication(sLicenseKey)

>> pozwala na wywołanie funkcji, ale kiedy tam dotrę, będę szczęśliwy!

Więc nikt nie używał wDocumentMgr z Windev?

Pozdrowienia

 

 

 

W Windev, po dodaniu biblioteki dll jako odwołania, nie możesz uzyskać typów SwDMClassFactory i SwDMApplication4 ?

Bo rozumiem, że ich nie używasz.

Witam

Widzę, że idziesz do przodu: http://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/73037-traduction-code-windev/read.awp

Dlaczego nie masz pewności co do swojego klucza?

Dlaczego to nie jest tylko kanał?

Z braku czegoś lepszego użyłem Solidworks i automatyzacji.

W rzeczywistości działa dobrze, z dużymi komputerami jest trochę dłuższy, ponieważ Solidworks musi otworzyć pomieszczenie. Ale pozwala zobaczyć, jak makro wykonuje swoją pracę lub nie.