![]() |
Indy10 MemoryStream senden/empfangen
Hallo,
ich habe gerade Indy10 installiert und musste mit erschrecken verstellen, dass man dort nur noch idStreamVCL verwenden kann. Ich müsste aber ein Memorystream benutzen, da das Projekt etwas größer ist und alles darauf aufbaut. Ist das denn überhaupt noch möglich oder geht dasn icht mehr? |
AW: Indy10 MemoryStream senden/empfangen
|
AW: Indy10 MemoryStream senden/empfangen
Ist der idStreamVCL denn nicht von TStream abgeleitet? (ich hab jetzt nicht nachgesehn)
Wenn es sowas nicht schon geben sollte. Du könntst dir einen idStreamVCL ableiten, dieser bekommt einen TStream als Parameter im Constructor mit. Alle Lese-/Schreibzugriffe an diesen idStreamVCL werden dann an den TStream weitergeleitet. Beim Aufruf erstellt man sich dann diese Ableitung als Vermittler für seinen eigenen Stream. |
AW: Indy10 MemoryStream senden/empfangen
ich verschicke Streams , MemoryStreams ganz ohne verwendung von idStreamVCL implementiert, das letzte beispiel spielt genau wie ich es wollte,
muss man idStreamVCL verwenden , gibt es eine referenz implementierung bzgl. idStreamVCL, vermisse ich etwas in meinen DEMOS ? |
AW: Indy10 MemoryStream senden/empfangen
@bernhard_LA:
Ich habe gerade mal kurz in Deinen Source im SVN -Link geschaut, dabei ist mir aufgefallen das Du :
Delphi-Quellcode:
die Steams & Co global in der Form deklariert hast?!
public
{ Public declarations } aFS_s: TmemoryStream; aFS_r: TmemoryStream; file_send : String; file_receive : String; end; Dir ist schon klar das das TCP-Server-OnExecute Event :
Delphi-Quellcode:
mehrfach und parallel eintritt ?
procedure TStreamServerForm.IdTCPServer1Execute(AContext: TIdContext);
begin /// afS_s:= TmemoryStream.Create; afS_r:= TmemoryStream.Create; Memo1.Lines.Add('Server starting .... '); Image1.Picture.Bitmap.SaveToStream(aFS_s); aFS_s.Seek(0,soFromBeginning); // .... snip Du wirst mit Sicherheit ein Problem bekommen wenn mehrere Clients gleichzeitig zum Server connecten! Du MUST die entsprechenden Streams auf jedem Fall lokal im OnExecute des Server deklarieren, damit diese pro Client separat erzeugt werden. Gruß Jan |
AW: Indy10 MemoryStream senden/empfangen
:) Danke, bereits im SVN verbessert
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz