Come previsto nel passaggio si verificano dei casini: la stringa C verrà mezza troncata, poi nel passaggio a stringa COM e a stringa VB si verificheranno ulteriori inconvenienti. L'unica secondo me è usare il metodo descritto prima.
Come previsto nel passaggio si verificano dei casini: la stringa C verrà mezza troncata, poi nel passaggio a stringa COM e a stringa VB si verificheranno ulteriori inconvenienti. L'unica secondo me è usare il metodo descritto prima.
Amaro C++, il gusto pieno dell'undefined behavior.
cioè, quale?Originariamente inviato da MItaly
L'unica secondo me è usare il metodo descritto prima.
Originariamente inviato da MItaly
A mio parere l'unica soluzione è trasformare l'UDT in una stringa contenente i suoi campi delimitati da virgole (o punti e virgola) nel server scritto in C, passare questa stringa a VB6 e lì spacchettarla.
[omissis]codice:Questa struttura... +---------------------------------------+ | matId: "10" | | materialCode: "bgk-15" | | thick: 1.5 | | width: 5.2 | | time: "11.35.45" | +---------------------------------------+ ...diventa questa stringa: "'10';'bgk-15';1.5;5.2;'11.35.45'" che viene passata in VB6 e lì viene spacchettata dentro una struttura analoga a quella di partenza.
se segui la mia soluzione devi fare in modo che eventuali punti e virgola inseriti nei campi non vadano a confondersi con quelli che devono delimitare i vari campi nella stringa; trova il modo di sostituirli, magari con sequenze di escape di qualche genere.
Amaro C++, il gusto pieno dell'undefined behavior.