Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  CopyDocument() by C++

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 SOLIDWORKS
  
What’s New SWOOD 2026: Alle Neuerungen im Überblick, ein Webinar am 16.06.2026
Autor Thema:  CopyDocument() by C++ (626 mal gelesen)
ZsZs
Mitglied


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

Beiträge: 6
Registriert: 03.09.2007

erstellt am: 10. Sep. 2007 12:24    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

Hello,

I like to use the CopyDocument() function in VC++ 6.0
The SW API help contain a full example. (But it is buggy...)
I modified:

int CopyDoc(ISldWorks* swApp)
{
long Err = -1;
BSTR src, dst, chld_src[6], chld_dst[6];

src = SysAllocString(L"C:\\Work\\Test\\DLC000_001\\DLC000_001.SLDASM");
dst = SysAllocString(L"C:\\Work\\Test\\DLC000_002\\DLC000_002.SLDASM");
chld_src[0] = SysAllocString(L"C:\\Work\\Test\\DLC000_001\\Dc00_DLC000_1_001.SLDASM");
chld_src[1] = SysAllocString(L"C:\\Work\\Test\\DLC000_001\\Dc0001_Dc00_DLC000_1_001.SLDPRT");
chld_src[2] = SysAllocString(L"C:\\Work\\Test\\DLC000_001\\Dc0002_Dc00_DLC000_1_001.SLDPRT");
chld_src[3] = SysAllocString(L"C:\\Work\\Test\\DLC000_001\\Dc0003_Dc00_DLC000_1_001.SLDPRT");
chld_src[4] = SysAllocString(L"C:\\Work\\Test\\DLC000_001\\Dc0003_Dc00_DLC000_2_001.SLDPRT");
chld_src[5] = SysAllocString(L"C:\\Work\\Test\\DLC000_001\\modul_DLC000_001.SLDPRT");
chld_dst[0] = SysAllocString(L"C:\\Work\\Test\\DLC000_002\\Dc00_DLC000_1_002.SLDASM");
chld_dst[1] = SysAllocString(L"C:\\Work\\Test\\DLC000_002\\Dc0001_Dc00_DLC000_1_002.SLDPRT");
chld_dst[2] = SysAllocString(L"C:\\Work\\Test\\DLC000_002\\Dc0002_Dc00_DLC000_1_002.SLDPRT");
chld_dst[3] = SysAllocString(L"C:\\Work\\Test\\DLC000_002\\Dc0003_Dc00_DLC000_1_002.SLDPRT");
chld_dst[4] = SysAllocString(L"C:\\Work\\Test\\DLC000_002\\Dc0003_Dc00_DLC000_2_002.SLDPRT");
chld_dst[5] = SysAllocString(L"C:\\Work\\Test\\DLC000_002\\modul_DLC000_002.SLDPRT");

swApp->ICopyDocument(src, dst, 6, chld_src, chld_dst,
        swMoveCopyOptionsOverwriteExistingDocs + swMoveCopyOptionsCreateNewFolder,
        &Err);

return Err;
}

This is not working... 
I get an error code: 2 ("Failed to create destination directories or copy operation failed possibly because you do not have proper permissions")

Why? Have a idea anybody?

Thanks!
ZsZs.

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 10. Sep. 2007 13: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 Nur für ZsZs 10 Unities + Antwort hilfreich

Does your target directoy DLC000_002 exist?
Maybe you should create it first before you can copy something in there.

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

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

ZsZs
Mitglied


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

Beiträge: 6
Registriert: 03.09.2007

erstellt am: 10. Sep. 2007 14:12    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

Thanks! but directory was exist...

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 10. Sep. 2007 14:21    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 ZsZs 10 Unities + Antwort hilfreich

Ok, then I guess you should google for "c++ directory permission" or "active directory".
I think with C++ it's like with PHP and Unix/Linux: You can create directories but you have to give them proper rights to write in. Which means that you have to set permissions "manually".
Use google and you'll sure find something.

You'll might find some usefull stuff right here: http://msdn2.microsoft.com/en-us/visualc/default.aspx

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

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

mkkk
Mitglied



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

Beiträge: 105
Registriert: 04.03.2005

erstellt am: 10. Sep. 2007 14:49    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 ZsZs 10 Unities + Antwort hilfreich

Maybe one of the documents is opened inside SolidWorks.
Please close it.
Or restart SWXSolidWorks and try again starting the macro without opening any document before.

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

ZsZs
Mitglied


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

Beiträge: 6
Registriert: 03.09.2007

erstellt am: 11. Sep. 2007 10:13    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

Thanks Everybody!

The opened file was seemed as though a good idea... but no...
Don't working the CopyDocument() function, but I workaround and I use the XCopy.exe system program for the all files. Is is working in the same way as CopyDocument() SW function.

I'm sorry, but I came to realize that this function not solve my problem. (Pack and Go from API function)
It is seem very difficult.
I find the external references. I able to change the references with the ReplaceReferencedDocument() function, but it is not enough: the mates and equations are referenced the files...
This is the end... I haven't any idea how change the referenced mates and equations...

ZsZs.

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

mkkk
Mitglied



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

Beiträge: 105
Registriert: 04.03.2005

erstellt am: 11. Sep. 2007 10:25    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 ZsZs 10 Unities + Antwort hilfreich

So ask the SolidWorks API support!

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)2024 CAD.de | Impressum | Datenschutz