Создание TFrame на TabSheet

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Meccua
Сообщения: 1
Зарегистрирован: 14 окт 2009, 20:09

Доброго времени суток.

задачка в том что у меня есть Frame

Код: Выделить всё

unit fAddEditMatltoINBASE;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, Grids, DBGrids, JvExDBGrids, JvDBGrid, JvDBUltimGrid, StdCtrls;

type
  TfAddEditMAtltoIMBASES = class(TFrame)
    addFormGrid: TJvDBUltimGrid;
    Button1: TButton;
    Button2: TButton;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

{$R *.dfm}

end.
На основной форме я хочу реализовать процедурку в которую передаеш 2 параметра (имя будушей вкладки и название Frame формы которую надо создать)
дулаю так

Код: Выделить всё

procedure TfMain.NewCreatTabSheet(TitleName: string; NameFrame: TFrame);
var
  NewTabSheet : TTabSheet;
  NewFrame : TFrame;

begin

  NewTabSheet := TTabSheet.Create(self.pcMain);
  NewTabSheet.Caption := TitleName;
  NewTabSheet.PageControl := self.pcMain;
  NewTabSheet.Tag := self.pcMain.PageCount;

  NewFrame := NameFrame.Create(NewTabSheet);
  NewFrame.Parent := NewTabSheet;
  NewFrame.Show;

end;
Вызваю так

Код: Выделить всё

NewCreatTabSheet('Имя', TfAddEditMAtltoIMBASES);
и тут то он ругается

[DCC Error] uMain.pas(40): E2010 Incompatible types: 'TFrame' and 'Class reference';

подскажите как быть....
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Ты
&quot писал(а):DCC Error] uMain.pas(40): E2010 Incompatible types: 'TFrame' and 'Class reference';
По-ммоему это значит, что ты должен передать ссылку на класс, а передаёшь фрэйм и эти типы не совместимы.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответить