Avatar billede johnnyhansen Nybegynder
05. december 2006 - 20:55 Der er 4 kommentarer

TStream og post

Hej jeg har følgende procedure "SendBillede" som skulle tage billede 'C:\63.bmp' og poste det til en webserver.

procedure SendBillede;
var
  s:TMemoryStream;
  Pic:TBitMap;
begin
  s:=TMemoryStream.Create;
  Pic:=TBitMap.Create;
  Pic.LoadFromFile('C:\63.bmp');
  Pic.SaveToStream(s);
  s.Position:=0;
  idhttp1.post('http://127.0.0.1',s);//indys tidhttp
  s.free;
  pic.free;
end;

Ovenstående skulle sende billede via stream til følgende server

procedure TForm1.IdHTTPServer1CommandGet(AThread: TIdPeerThread;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);  //indys tidhttpserver event oncommandget
var
  Pic:TBitMap;
begin
  Pic:=TBitMap.Create;
  Pic.LoadFromStream(ARequestInfo.PostStream);//denne sætning giver accesviolation!!!!
  image1.Picture.Bitmap:=pic;
  pic.free;
end;

Hvad er der galt med ovenstående kode, der dukker aldrig et billede op på serveren???
Er det noget med tstream?? prøv evt selv at kører koden.

Mvh Anders
Avatar billede martinlind Nybegynder
05. december 2006 - 23:13 #1
Uden at vide noget om det, så prøv at lade være med at lave en pic.free; i din sendbilled function, har oplevet nogle "stream" rutiner der selv ryder op og fejler hvis du free'er streamen. Bare et foreslag :)
Avatar billede martinlind Nybegynder
05. december 2006 - 23:15 #2
det var selvfølgeli' S.free du skulle prøve at lade være med
Avatar billede johnnyhansen Nybegynder
05. december 2006 - 23:41 #3
Det er ikke det som skaber problemet.
Avatar billede psycosoft-funware Nybegynder
07. december 2006 - 19:26 #4
>>johnnyhansen: lige til en orientering: det er ikke tilladt at have to identiske spm på een gang i følge E's regler
:)



(coadmins: ret mig hvis jeg tager fejl)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester