Einzelnen Beitrag anzeigen

schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#1

Frage zu Typenlosen Parameter einer Funktion

  Alt 19. Mär 2010, 17:15
Hi,

ich arbeite im Moment mit JVCL-TJvHidDevice.

Da gibt es ja die Funktionen der HID.dll:
function TJvHidDevice.GetFeature(var Report; const Size: Integer): Boolean;
function TJvHidDevice.SetFeature(var Report; const Size: Integer): Boolean;

Der "Report" ist ja nun Typenlos und ich jede beliebige Struktur übergeben.

Nun habe ich mehrere verschieden GetFeature & SetFeature Requests, alle mit einem unterschiedlichen Type definition.

Ich möchte aber eine Unterfunktion machen:
Delphi-Quellcode:
procedure DoGetData(var Report; const Size: Integer; Retry : Boolean);
var
  Data : Array of Byte;
begin

  //backup Report ID:
  SetLength(Data, Size);
  CopyMemory(@Data, @Report, Size); //hier werden keine Daten kopiert, Report Type ist unbekannt!
  while not Device.GetFeature(Report, Size) do
  begin

  end;
end;
Ich muss den Report vorher sichern, denn wenn GetFeature False zurückgibt (Device Fehler) wird der Report gelöscht.
D.H. für jeden Versuch muss ich dann den Report neu setzen.

Wie kann ich ein "Backup" von Report machen?

Danke!
Delphi 2010, Update 4 & 5
  Mit Zitat antworten Zitat