NowC
04-05-2007, 20:42
Salve a tutti!
Sto :muro: con un problema che non riesco proprio a risolvere...qlcn potrebbe darmi una mano?
Cerco di spiegare il problema:
Ho realizzato un progetto in c (con borland c++ builder 6) e in questo progetto ho creato una funzione
#include <stdio.h>
#include <stdlib.h>
#include "matrix.h"
#include "mylibmatlab.h"
void myFunction()
{
mxArray* in1;
mxArray* in2;
double ris[9] = {8,1,2,3,2,5,-1,7,9};
double dimen[9] = {1,2,3,4,5,6,7,8,6};
//inizializza i dati di ingresso
in1 = mxCreateDoubleMatrix(3,3, mxREAL);
in2 = mxCreateDoubleMatrix(3,3,mxREAL);
mclInitializeApplication(NULL,0);
(...)
Tale funzione richiama una funzione di una libreria dll (mylibmatlab) realizzata con matlab, ma fin qui tutto bene. Compilo e quando provo a far correre il mio programma (tramite un semplice main richiamo la mia funzione proprio per testarla) borland si arresta alla linea "in1 = mxCreateDoubleMatrix(3,3, mxREAL);" segnalando un errore:
Project xxxxx.exe raised Exception class EAccessviolation with message 'Access violation at address 00000000. Read of address 00000000'.
Non riesco a capire perchè, non ho molta esperienza del resto :cry:
:help:
Grazie, alla prossima!
Sto :muro: con un problema che non riesco proprio a risolvere...qlcn potrebbe darmi una mano?
Cerco di spiegare il problema:
Ho realizzato un progetto in c (con borland c++ builder 6) e in questo progetto ho creato una funzione
#include <stdio.h>
#include <stdlib.h>
#include "matrix.h"
#include "mylibmatlab.h"
void myFunction()
{
mxArray* in1;
mxArray* in2;
double ris[9] = {8,1,2,3,2,5,-1,7,9};
double dimen[9] = {1,2,3,4,5,6,7,8,6};
//inizializza i dati di ingresso
in1 = mxCreateDoubleMatrix(3,3, mxREAL);
in2 = mxCreateDoubleMatrix(3,3,mxREAL);
mclInitializeApplication(NULL,0);
(...)
Tale funzione richiama una funzione di una libreria dll (mylibmatlab) realizzata con matlab, ma fin qui tutto bene. Compilo e quando provo a far correre il mio programma (tramite un semplice main richiamo la mia funzione proprio per testarla) borland si arresta alla linea "in1 = mxCreateDoubleMatrix(3,3, mxREAL);" segnalando un errore:
Project xxxxx.exe raised Exception class EAccessviolation with message 'Access violation at address 00000000. Read of address 00000000'.
Non riesco a capire perchè, non ho molta esperienza del resto :cry:
:help:
Grazie, alla prossima!