ok, habe deinen rat befolgt habe auch eine Ansatz gemacht jedoch habe ich probleme:
die Funktion
SikoGetScale soll als übergabe parameter ein array erhalten
...das heißt ich muss eine funktion im meinem
Com-server integrieren das ungefähr so aussieht:
Delphi-Quellcode:
// *********************************************************************//
// Interface: ISikoInterface
// Flags: (256) OleAutomation
// GUID: {C78E36A5-99CF-4C1F-939D-324920AE34F8}
// *********************************************************************//
ISikoInterface =
interface(IUnknown)
['
{C78E36A5-99CF-4C1F-939D-324920AE34F8}']
...
function SikoGetScale(gNumber: SYSINT; buffSize: SYSINT;
var buffArray: OleVariant): SYSINT;
stdcall;
end;
und kann dann in dem client Applikation wie folgt vorgehen:
Delphi-Quellcode:
procedure TMainWin.button1Click(Sender: TObject);
var
index : integer;
buffSize: Integer;
myArray : OleVariant;
Siko : ISikoInterface;
begin
Siko := CoSikoInterface.Create;
buffSize := 10000;
myArray := VarArrayCreate([0..10000],varDouble);
Siko.SikoGetScale(0, buffSize,myarray ); //<--- hier mache ich einen Fehler ??? warum???
for index:=0 to (buffSize-1) do
zeichne myArray[index]
end;
was mache ich falsch? gibt es vielleicht einen besseren(optimaleren) weg arrays zuübergeben?
danke für deine Hilfe