Einzelnen Beitrag anzeigen

brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#19

AW: Ansprechen einer GigE Kamera (Prosilica GC2450C)

  Alt 20. Jul 2012, 23:46
Hi, also bei der kann ich dir wirklich mehr weiterhelfen

Delphi-Quellcode:
UNI_RETURN_TYPE = Cardinal;

Function UCC_GetCameras ( Var pnSize : UInt32; VecIds : PUInt32) : UNI_RETURN_TYPE; stdcall;

// mit
var
  Cameras: array of Uint32;
  CameraCount: Uint32;

CameraCount := 64;
SetLength(Cameras, CameraCount);
if GetCameras(CameraCount, @Cameras[0]) = S_OK then begin
  SetLength(Cameras, CameraCount);
  for i := Low(cameras) to High(cameras) do
    memo.lines.add(inttostr(cameras[i])); // cameraID
end;
Die Kameras werden ueber die ID angesprochen (diese siehst du auch im UniCamViewer). Eine Liste der verfuegbaren Kameras erhaelst du wie im SourceCode oben.

Bei UCC_GetCameraInfoString musst du dir vorher den Speicher reservieren (Wie bei den WinAPIs) [Rueckgabe ist cardinal, deklarier dir das besser wie oben als UNI_RETURN_TYPE):

Delphi-Quellcode:

  const
     E_CAMINFO_MODEL = 0;
     E_CAMINFO_VENDOR = 1; //.....
  
  Function UCC_GetCameraInfoString (CamId : UInt32; nId : UInt32; pszInfoString : PAnsiChar; Var pLength : UInt32) : Cardinal;

  if UCC_GetCameraInfoString(camId, E_CAMINFO_MODEL, nil, len) = S_OK then begin // laenge ermitteln
    SetLength(text, len);
    if UCC_GetCameraInfoString(camId, E_CAMINFO_MODEL, PChar(text), len) = S_OK then begin // auslesen
      memo1.lines.add(text);
    end;
  end;
  Mit Zitat antworten Zitat