- Код: Выделить всё
- unit Unit1;
 {$mode objfpc}{$H+}
 interface
 uses
 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
 ExtCtrls, ExtDlgs;
 type
 { TForm1 }
 TForm1 = class(TForm)
 Button1: TButton;
 PaintBox1: TPaintBox;
 OpenDialog1: TOpenDialog;
 Button2: TButton;
 procedure FormCreate(Sender: TObject);
 procedure PaintBox1Paint(Sender: TObject);
 procedure Button1Click(Sender: TObject);
 procedure Button2Click(Sender: TObject);
 private
 { private declarations }
 public
 b: TBitmap;
 end;
 var
 Form1: TForm1;
 implementation
 {$R *.lfm}
 { TForm1 }
 procedure TForm1.FormCreate(Sender: TObject);
 begin
 b:= TBitmap.Create;
 end;
 procedure TForm1.PaintBox1Paint(Sender: TObject);
 begin
 PaintBox1.Canvas.Draw(0,0, b);
 end;
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 if OpenDialog1.Execute then
 b.LoadFromFile(OpenDialog1.FileName);
 PaintBox1Paint(Sender);
 end;
 procedure TForm1.Button2Click(Sender: TObject);
 begin
 b.LoadFromFile('C:\111\16000x12000.bmp');
 PaintBox1Paint(Sender);
 end;
 end.
Через OpenDialog1 сразу же вылектает, через прямой путь Button2 грузится около миниту. Не вылетает, но PaintBox после загрузки становится чёрным (картинку не видно).
Скорее всего не хватает памяти (стоит Win-7 x86, ОЗУ - 4 ГГб).
А с загрузкой в Image не получилось?



