Einzelnen Beitrag anzeigen

ToXiC

Registriert seit: 28. Okt 2007
52 Beiträge
 
Delphi 2005 Personal
 
#1

fehler globale variable/lokale variable

  Alt 13. Okt 2008, 14:29
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;
Chris
  Mit Zitat antworten Zitat