.Проект вызвал класс исключения 'External: SIGSEGV'.
В файле 'pallete.pas' на строке 52:
MethodColorChange := ColorChange
Вот в чем собственно суть: есть класс TFormMain который устанавливает значение переменной процедурного типа в объекте класса TPalleteForm.
- Код: Выделить всё
- unit Main;
 interface
 uses
 Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics,
 Menus, ExtCtrls, StdCtrls, Buttons, ActnList, Spin, ComCtrls,
 Pallete;
 type
 TFormMain = class(TForm)
 procedure FormCreate(Sender: TObject);
 private
 procedure ColorChange(Sender: TObject);
 public
 end;
 var
 FormMain: TFormMain;
 implementation
 procedure TForm1.FormCreate(Sender: TObject);
 begin
 PalleteForm.SetColorChange(@ColorChange);
 end;
 procedure TForm1.ColorChange(Sender: TObject);
 begin
 
 end;
 
 end.
- Код: Выделить всё
- unit Pallete;
 {$mode objfpc}{$H+}
 interface
 uses
 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Grids,
 ExtCtrls;
 type
 TMethodColorChange = procedure(Sender: TObject) of object;
 TPalleteForm = class(TForm)
 private
 MethodColorChange: TMethodColorChange;
 public
 procedure SetColorChange(ColorChange: TMethodColorChange);
 end;
 var
 PalleteForm: TPalleteForm;
 implementation
 procedure TPalleteForm.SetColorChange(ColorChange: TMethodColorChange);
 begin
 MethodColorChange := ColorChange;
 end;
 end.
P.S. Тут не весь код, но только тот который имеет значение в данное проблеме.



