Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[Delphi] <...>.SaveToStream werkt niet

Yoohan
3 antwoorden
  • Ik wil graag een plaatje (JPG) in een stream zetten om deze als Stream over te sturen naar een andere computer.

    Ik gebruik de volgende code:

    [code:1:83a38ccab1]
    uses
    JPEG;

    var
    MemoryStream: TMemoryStream;
    JPG: TJPEGImage;
    begin
    // Afbeelding openen en in MemoryStream plaatsen
    JPG := TJPEGImage.Create;
    JPG.LoadFromFile('C:\Afbeelding.jpg');
    MemoryStream := TMemoryStream.Create;
    JPG.SaveToStream(MemoryStream);
    JPG.Free;
    // MemoryStream versturen
    // …
    MemoryStream.Free;
    end;
    [/code:1:83a38ccab1]

    Maar de grootte (SizeOf) de MemoryStream is maar 4 :-?
    Hoe kan dit en wat doe ik fout?
  • Het werkt al… sorry.

    Het probleem lag ergens anders, niet bij SaveToStream.
  • Hehehehehe… SizeOf…
    Inderdaad, de SizeOf van een pointer is 4 bytes. ;)
    Natuurlijk moet je dus de MemoryStream.Size property gebruiken! Maar dat weet je nu dus al. Verder, niet vergeten om de stream weer terug te spoelen, oftewel de positie weer aan het begin te zetten…

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.