ich habe folgendes problem:
ich habe den unten beigelegten code aus dem netz & habe ihn leicht abgeändert.
nun wollte ich die globalen variablen lokalisieren, da sie nur ein einer einzige proceudre verwendet werden.
das programm lässt sich ohne weiteres kompilieren, spuckt jedoch nach abshcluss der kompilierung eine fehlermeldung der form aus:
http://img3.imagebanana.com/img/bhd7...humb/error.PNG
sinnlose zeichenketten.
sobald man ok bestätigt folgt eine weitere solche fehlermeldung, was sich entlos fortsetzt.
eigentlich ist es nicht relevant, ob die die variablen letztendlich global oder lokal anlege, doch ich würds schon gern verstehn^^.
Delphi-Quellcode:
unit Unit1;
...
private
Reciving: boolean;
DataSize: integer;
Data: TMemoryStream;
...
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
var
s, sl:
string;
TmpJpg : TJPEGImage;
begin
s:= Socket.ReceiveText;
TmpJpg := TJPEGImage.Create;
if not Reciving
then
begin
SetLength(sl, StrLen(PChar(s))+1);
// +1 for the null terminator
StrLCopy(@sl[1], PChar(s), Length(sl)-1);
DataSize:= StrToInt(sl);
Data:= TMemoryStream.Create;
Delete(s, 1, Length(sl));
Reciving:= true;
end;
try
Data.
Write(s[1], length(s));
if Data.Size = DataSize
then
begin
Data.Position:= 0;
TmpJpg.LoadFromStream(Data);
Image2.Picture.Assign(TmpJpg);
Data.Free;
TmpJpg.Free;
Reciving:= false;
Socket.Close;
end;
except
Data.Free;
TmpJpg.Free;
end;
end;