AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Buffer beibringen von Indys akzeptiert zu werden
Thema durchsuchen
Ansicht
Themen-Optionen

Buffer beibringen von Indys akzeptiert zu werden

Ein Thema von gsh · begonnen am 7. Dez 2008 · letzter Beitrag vom 14. Dez 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#1

Buffer beibringen von Indys akzeptiert zu werden

  Alt 7. Dez 2008, 19:48
Hi Leute,

ich hab in den letzten Tagen einen Buffer für meine Übertragung gebaut. Dieser funktioniert auch soweit ganz gut nur hab ich jetzt ein Problem beim Übertragen von dem Buffer.

Wenn ich den Buffer so benutzen will:
IOHandler.Write(TransferBuffer, cFileSplitSize); dann bekomme ich folgende Fehlermeldung
E2250 Es gibt keine überladene Version von 'Write', die man mit diesen Argumenten aufrufen kann

Der Buffer ist im Grundlegenden so aufgebaut:
Delphi-Quellcode:
TTransferBuffer = class(TThread)
public
  function Read(var Buffer; Count: integer): integer;
  function Write(const Buffer; Count: integer): integer;
end;
wie kann ich ihm beibringen das er diese Funktionen benutzt wenn ich IOHandler.Write mit dem Buffer aufrufe?
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Buffer beibringen von Indys akzeptiert zu werden

  Alt 7. Dez 2008, 19:51
Welchen Typ hat Buffer?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#3

Re: Buffer beibringen von Indys akzeptiert zu werden

  Alt 7. Dez 2008, 19:54
Also der TransferBuffer ist vom Typ TTransferBuffer ...
oder was meinst du?
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Buffer beibringen von Indys akzeptiert zu werden

  Alt 7. Dez 2008, 19:59
Nein, die Parameter dessen Methoden
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#5

Re: Buffer beibringen von Indys akzeptiert zu werden

  Alt 7. Dez 2008, 20:11
function Write(const Buffer; Count: integer): integer;

aso du meinst diesen Buffer ... der hat keinen typ
er ist genau so deklariert wie oben angegeben.
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Buffer beibringen von Indys akzeptiert zu werden

  Alt 7. Dez 2008, 20:20
Er muss aber einen Typ haben
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#7

Re: Buffer beibringen von Indys akzeptiert zu werden

  Alt 7. Dez 2008, 20:35
müssen tut er nicht ...
ich kann ja z.b. die Methode so aufrufen:
TransferBuffer.Write(FileStream, 1); Meine einzige überlegung ist das ich das ganze über einen zusätzlichen Memory Buffer laufen lasse (läuft aber aus da nicht performant genug). Das würde dann so aussehen:
Delphi-Quellcode:
var
  TempMemory : TMemoryStream;
begin
  TempMemory := TMemoryStream.Create;
  SetLength(TempMemory, 1000);
  TransferBuffer.Read(TempMemory, 1000);
  IOHandler.Write(TempMemory, 1000);
  TempMemory.Free;
end;
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Buffer beibringen von Indys akzeptiert zu werden

  Alt 7. Dez 2008, 20:36
Doch in Delphi muss jede Variable/Parameter einen Typ besitzen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Buffer beibringen von Indys akzeptiert zu werden

  Alt 7. Dez 2008, 20:45
Muss nicht. Schau Dir mal TStream.Read oder Write an, die haben auch keinen Typ. (-:
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Buffer beibringen von Indys akzeptiert zu werden

  Alt 7. Dez 2008, 21:00
Richtig, ein Typ ist da nicht zwingend. Aber letzendlich läuft es dann darauf hinaus das es intern als Pointer übergeben wird.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz