Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by brechi,
20. Jul 2012
Hi, also bei der kann ich dir wirklich mehr weiterhelfen :)
UNI_RETURN_TYPE = Cardinal;
Function UCC_GetCameras ( Var pnSize : UInt32; VecIds : PUInt32) : UNI_RETURN_TYPE; stdcall;
// mit
var
Cameras: array of Uint32;
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by brechi,
17. Jul 2012
Du solltest den Buffer mal clearen.
ZeroMemory(@aFrame, SizeOf(aFrame);
aErrValue := PvAttrUint32Get (CamHandle, 'TotalBytesPerFrame', totalbytes);
If aErrValue = ePvErrSuccess then
Begin
SetLength (aFrameBuffer, totalbytes);
aFrame.ImageBufferSize := totalbytes;
aFrame.ImageBuffer := @aFrameBuffer;
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by brechi,
13. Jul 2012
Ich meinte auch array of tPvCameraInfoEx;
Wenn du dynamische Arrays verwendest und diese als Pointer uebergeben willst musst du immmer @Array uebergeben, niemals @Array, denn vor dem 1. Element sind noch andere Daten gespeichert (Laenge).
Also entweder du verwendest ein statisches Array (dann geh @Array aber auch dort ist @Array erlaubt) oder ein dynamisches mit @Array.
tPvInterface =...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by brechi,
12. Jul 2012
Du darfst es nicht als "array of byte" uebersetzen, da dann zwei intern die Laenge+Groesse des Array uebergeben wird, woduch die Parameter nicht mehr mit dem C header uebereinstimmen. Unter der UniversaAPI koennen maximal 64 Kameras angesprochen werden. Also versuchs mal mit:
type
tPvCameraInfoExList = array of tPvCameraInfoEx;
PPvCameraInfoEx = ^tPvCameraInfoEx;
Function...