[ nix_r @ 25.04.2006. 13:47 ] @
Imam veliki problem i hitnoooooo mi treba pomoc. Naime iz C# metode se poziva metoda u C++ kojoj se kao argument dodjeljuje CoreObject co (to je objekat-poruka za SMSC sa odgovarajucim svojstvima, a jedan od njih je text poruke co.UD kao byte[] u ASCII formatu). Metoda u C++ koristi managed i unmanaged tipove i dio je klase public _gc class BulkInsert Imam dati dio koda u C++: BOOL BST_Core::BulkInsert::BindData(CoreObject *co) { BYTE* UD = new BYTE[164]; //...unsigned char array UD = co->UD; //...co->UD je niz bajta iz C# if (bcp_bind(dbproc, (BYTE*)UD, 0, -1, (BYTE*)"", 1, 0, 17) == FAIL) { return FALSE; } Moram paziti na ovaj format (BYTE*)UD, jer samo tako ga mogu proslijediti fiji bcp_bind, koja salje red odgovarajucoj koloni u SQL Server-u 2000, cija je kolona tipa BINARY u koju se upisuje text SMS poruke. Prakticki ja trebam kopirati sadrzaj byte[] array-a co.UD iz C++ u ovaj niz BYTE *UD = new BYTE[164], vodeci racuna da se mixa manaded i unmanaged code. Kada izbildam projekat, dobijem sljedecu poruku e:\SMSC_version\FIN-2006-04-20-SMC_2_Uskladjena\BulkInsert\BulkInsert.cpp(320): error C2440: '=' : cannot convert from 'unsigned char __gc[]' to 'BYTE *' Can only convert a __gc array to or from Object * or Array * |