Thema: Delphi Indy ReadBytes

Einzelnen Beitrag anzeigen

estbrion

Registriert seit: 19. Aug 2009
Ort: kassel
1 Beiträge
 
Delphi 2006 Personal
 
#1

Indy ReadBytes

  Alt 19. Aug 2009, 16:24
Hallo Leute
ich versuche zur zeit einen Treiber für ein Messgerät zu programmieren (Signal Recovery LockIn7124). Zur Zeit lese ich die vom Gerät aufgenommen Daten mit der folgenden Prozedur aus:

Delphi-Quellcode:
procedure GetBinaryOverIP;
var bytebuff: TIdBytes;
     bytezahl,valuezahl:integer;
begin
  valuezahl:=(monitor);
  bytezahl:=2*valuezahl+3;
  with TCPClient do begin
    IOHandler.Write('dcb 0');
    IOHandler.ReadBytes(bytebuff,bytezahl,false);
  end;
end;
Monitor gibt die Anzahl der aufgenommenen Werte wieder. 1Wert entspricht 2Bytes.

Das Problem daran ist, dass das ganze sehr langsam abläuft. Der LabView-Treiber funktioniert ähnlich, nutzt jedoch statt der Indy-Komponenten die Visa-Komponenten und ist deutlich schneller.
Liegt das eventuell an der ReadBytes Funktion oder im Aufbau der Prozedur, die ja eigentlich nicht so komplex ist ? Sollte ich generell bei sowas einen anderen Ansatz wählen?

Derzeit kann ich mit der Prozedur nur ungefähr 20kB in 10sek abrufen.

lg
estbrion
  Mit Zitat antworten Zitat