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!