Hallo Number5,
GetBitmap() lifert nicht das bild sondern erzeugt den Auftrag für ein neues.
Durch die Callback routinen und so maches andere klappt kein syncroner auf ruf. Es gibt zum bild holen dann eine eigene Funktion
Das Beispiel für die Einbindung einer dll in scilab hast Du ja bestimmt schon gesehen
Code:
// matset
// Set element in mat at row and col to val.
// nrows is number of rows in mat. Shows row
// and col reference in a C function.
// REMEMBER: C row or col = Scilab row or col-1.
void matset_c(double *mat,
const int *nrows,
const int *row,
const int *col,
double *val)
{
mat[*row - 1 + (*col - 1)*(*nrows)] = *val;
}
Hier wird ja ein Pointer auf eine double matrix übergeben.
Wäre folgendes nicht einfach zu realisieren:
Beim ersten Aufruf von GetBitmap() wird die Call-Back Funktion aktiviert. Die schreibt dann ihre Werte an dei Stelle, auf die der Pointer zeigt.
Geht es eigentlich, dass ein Dll einen Speicherbereich für sich allokiert ?
Eine andere Frage: legst Du Deine Code offen ? Dann könnten ja vielleicht andere Leute noch mal einen Blick darauf werfen.
Ich habe die Frage nach einer Einleseroutine schon mal gestellt
https://www.roboternetz.de/phpBB2/vi...=161795#161795
und
michigrunf
scheint sich damit auszukennen.
Gruss,
stochri
Lesezeichen