I have a Procedure which calls a Function which should return a TStream and does not. The code is below. There are 2 images attached The first shows the Stream in the called Function and the second shows the value returned in the calling procedure. Any ideas? Thanks.
procedure TfrmUTest2.btnComvertJPGtoBMPClick(Sender: TObject);
// HTTP Link
cHTTPLink = 'https://cdn2.lamag.com/wp-content/uploads/sites/6/2019/11/Tuna-Illustration-1000x437.jpg';
//ms := TMemoryStream.Create;
ms := SamsaraConvertJPGtoBMP(cHTTPLink);
ss := tStringStream.create('');
SS.CopyFrom(ms, 0); // This shows that the Stream has no information; ********************
function TfrmUTest2.SamsaraConvertJPGtoBMP(vHTTPLink: String): TStream;
Graphic := nil;
BM := TBitmap.Create;
idHTTP1 := TidHTTP.Create(nil);
ms := TMemoryStream.Create;
ms2 := TMemoryStream.Create;
SS := TStringStream.create('');
result := nil;
SS.CopyFrom(ms, 0); // No need to position at 0 nor provide size
Graphic := TJPEGImage.Create;
if Assigned(Graphic) then
result := ms2;
SS.CopyFrom(result, 0); // this shows that MS2 has information ********************
end; CallingProcedure.jpg CalledFunction.jpg
”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.
-Mike Kapnisakis, Warner Bros
With your subscription - you'll gain access to our exclusive IT community of thousands of IT pros. You'll also be able to connect with highly specified Experts to get personalized solutions to your troubleshooting & research questions. It’s like crowd-sourced consulting.
We can't always guarantee that the perfect solution to your specific problem will be waiting for you. If you ask your own question - our Certified Experts will team up with you to help you get the answers you need.
Our certified Experts are CTOs, CISOs, and Technical Architects who answer questions, write articles, and produce videos on Experts Exchange. 99% of them have full time tech jobs - they volunteer their time to help other people in the technology industry learn and succeed.
We can't guarantee quick solutions - Experts Exchange isn't a help desk. We're a community of IT professionals committed to sharing knowledge. Our experts volunteer their time to help other people in the technology industry learn and succeed.