- Код: Выделить всё
- unit Unit1;
 {$mode objfpc}{$H+}
 interface
 uses
 SysUtils, Classes, httpdefs, fpHTTP, fpWeb, Graphics;
 type
 { TFPWebModule1 }
 TFPWebModule1 = class(TFPWebModule)
 procedure DataModuleRequest(Sender: TObject; ARequest: TRequest;
 AResponse: TResponse; var Handled: Boolean);
 private
 public
 end;
 var
 FPWebModule1: TFPWebModule1;
 implementation
 {$R *.lfm}
 { TFPWebModule1 }
 procedure TFPWebModule1.DataModuleRequest(Sender: TObject; ARequest: TRequest;
 AResponse: TResponse; var Handled: Boolean);
 var
 png: Graphics.TPortableNetworkGraphic;
 begin
 png := Graphics.TPortableNetworkGraphic.Create;
 try
 png.SetSize(100, 100);
 png.Canvas.TextOut(10, 10, 'Hello world!');
 AResponse.ContentType:='image/png';
 AResponse.ContentStream := TMemoryStream.Create;
 png.SaveToStream(AResponse.ContentStream);
 AResponse.ContentLength := AResponse.ContentStream.Size;
 AResponse.SendContent;
 AResponse.ContentStream := nil;
 finally
 png.Free;
 end;
 Handled:=true;
 end;
 initialization
 RegisterHTTPModule('TFPWebModule1', TFPWebModule1);
 end.
По непонятным для меня причинам падает на строке png.SetSize с ошибкой External: SIGSEGV.


