' schrieb:Welches VI willst du nachbilden? Das mit dem Move-Befehl? Das kannst du nicht nachbilden. Den Move-Befehl musst du herunterladen (siehe Link weiter oben in jenem Link), entsprechend beschalten und ausführen.
Im übrigen:
Der Move-Befehl ist dazu da, Unzulänglichkeiten einer Programmiersprache - ob LV, Delphi oder C++ - zu umgehen. Eigenlich soll man sowas gar nicht benutzen.
Ok, hab was schönes für CIN's gefunden gefunden.
Using a CIN to Create an Array of Strings in LabVIEW
Ich möchte aber keine Strings in ein Array laden. Wo finde ich denn die makros für Zahlen? Hier mal mein Code:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
/* CIN source file */
#include "extcode.h"
/* stubs for advanced CIN functions */
/* Typedefs */
/* TD1 is an array of handles to LV strings */
typedef struct {
int32 dimSize;
int32 Numeric[1];
} TD1;
typedef TD1 **TD1Hdl;
MgErr CINRun(TD1Hdl Array);
MgErr CINRun(TD1Hdl Array)
{
#define ARRAYSIZE 6
MgErr err;
int32 i;
int *values[ARRAYSIZE] = {3,0,0,7,8,1};
err = SetCINArraySize((UHandle)Array, 0, ARRAYSIZE);
if (err) goto out;
(*Array)->dimSize=ARRAYSIZE;
for(i=0; i<ARRAYSIZE; i++)
{
MoveBlock(values[i], (*Array)->Numeric[1], 6);
}
return noErr;
out:
return err;
}</div>
Bekomme folgende Warnungen:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
Array.c(22): warning C4047: 'initializing' : 'int *' differs in levels of indirection from 'int'
Array.c(32): warning C4022: 'MoveBlock' : pointer mismatch for actual parameter 2</div>