Aggiorna il File XML con i dati contenuti nella struttura ARCHSOST_DOCUMENTO che deve essere riempita prima di eseguire la funzione
int
WINAPI
dmtArchDoc(
HDMTOBJ hDmt,
ARCHSOST_DOCUMENTO *pArchSostDocumento
);
[DllImport("Dimatec.dll")]
public static extern int dmtArchDoc(int hDmt, IntPtr pArchsostDoc);
hDmt - Handle dell'oggetto DiMaTek
pArchsostDoc- Puntatore alla struttura ARCHSOST_DOCUMENTO
DMT_OK in caso di successo, altrimenti un codice di errore
C
ARCHSOST_DOCUMENTO ArchSostDocumento1;
memset((PVOID)&ArchSostDocumento1, 0, sizeof(ARCHSOST_DOCUMENTO));
ArchSostDocumento1.TipoDocumento = FATTURE_EMESSE;
ArchSostDocumento1.FileNameDocumento = "C:\\Alessio\\dimatek4src\\Test\\ArchSost\\TestArchSost.pdf";
ArchSostDocumento1.DataDocumento = "19/04/2011";
// Chiusura dell'archiviazione
ret = dmtArchDoc(
hDmt,
&ArchSostDocumento1);
if (ret != DMT_OK)
return ret;
C#
private void oAddButton_Click_1(object sender, EventArgs e)
{
ARCHSOST_DOCUMENTO ArchSostDocumento1 = new ARCHSOST_DOCUMENTO();
IntPtr ArchSostDocumentoPtr = Marshal.AllocHGlobal(Marshal.SizeOf(ArchSostDocumento1));
ArchSostDocumento1.TipoDocumento = TIPO_DOCUMENTO.FATTURE_EMESSE;
ArchSostDocumento1.FileNameDocumento = LabelFileToAdd.Text;
ArchSostDocumento1.DataDocumento = oFormDocData.Text;
ArchSostDocumento1.Companyname = oFormDocCompanyname.Text;
ArchSostDocumento1.PartitaIva = oFormDocPiva.Text;
ArchSostDocumento1.NrDoc = oFormDocNr.Text;
Marshal.StructureToPtr(ArchSostDocumento1, ArchSostDocumentoPtr, false);
// Chiusura dell'archiviazione
int iResult = CDIMATECLIBRARY.dmtArchDoc(
CDIMATECLIBRARY.ghDimatecObj,
ArchSostDocumentoPtr);
Marshal.FreeHGlobal(ArchSostDocumentoPtr);
if (iResult != CDIMATECLIBRARY.DMT_OK)
{
MessageBox.Show(this, "Document not added", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
CDIMATECLIBRARY.dmtGetLastError(true, null);
return;
}
MessageBox.Show(this, "Document added", LabelFileToAdd.Text,
MessageBoxButtons.OK, MessageBoxIcon.Information);
}