Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];

Вниз

Как сменить наследника у фрейма с .dfm-файлом   Найти похожие ветки 

 
Smithson   (2002-11-29 11:10) [0]

Вопрос следующий: Есть n фреймов, полученных командой File->New Frame. Они отлажены и отлично работают в проекте. Теперь возникла необходимость подвести их все к одному предку (наследнику от TFrame, имеющему некую общую для них всех функциональность). Просто смена наследника в модуле блокируется Delphi. Как это можно сделать?


 
Smithson   (2002-11-29 12:48) [1]

Ну товарищи!


 
Skier   (2002-11-29 13:04) [2]

>Smithson

> Просто смена наследника в модуле блокируется Delphi.


Вот это штука прекрасно работает !
В чём проблема-то ?

unit Unit2;

TFrame2 = class(TFrame)
private
{ Private declarations }
public
{ Public declarations }
end;

//.............................................

unit Unit3;

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Unit2;

type
TFrame3 = class(TFrame2)
private
{ Private declarations }
public
{ Public declarations }
end;


 
Skier   (2002-11-29 13:08) [3]

>Smithson
>Теперь возникла необходимость подвести их все к одному предку
Тебе нужно наследоваться свой "главный" класс-предок и наследоваться уже от него, обзови его TBaseFrame и дальше
TFrame1 = class(TBaseFrame)
TFrame2 = class(TBaseFrame)
и т.д.


 
Smithson   (2002-11-29 14:34) [4]

Мда. Спасибо. Вчера при попытке сменить предка и откомпилировать говорило "несовпадение типов" на строку class(TBaseFrame). Сегодня прошло на ура. Видимо, надо хоть изредка перегружать машину.

Спасибо за помощь!


 
Smithson   (2002-11-30 12:20) [5]

И все-так фигня.
При компиляции проекта в .dfm модуль Delphi пихает массу всяких полей, исполнимый файл компилится, а потом при попытке использовать такой фрэйм возникает исключение "неизвестное свойство OldCreateOrder".


// Описание самого фрэйма
TFrameRegisterWare = class(TSmithFrame)
Label1: TLabel;
EmpList: TComboBox;
Label2: TLabel;
WareList: TComboBox;
Label3: TLabel;
Inventar: TEdit;
ButtonFindFreeInv: TSpeedButton;
Label4: TLabel;
Serial: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Room: TEdit;
StatusList: TComboBox;
Info: TMemo;
Label8: TLabel;
Billing: TEdit;
Label9: TLabel;
BillDate: TEdit;
procedure EmpListChange(Sender: TObject);
procedure WareListChange(Sender: TObject);
procedure ButtonFindFreeInvClick(Sender: TObject);
procedure SerialExit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
FBillID: String;

Procedure Init; override; // инициализация фрейма
Procedure Start(cBill: String); // инициализация фрейма, cBill - номер по таблице BillItem
Procedure AddData; // Регистрирует вещь в warehouse
end;

// Цитата из dfm файла

object FrameRegisterWare: TFrameRegisterWare
Left = 0
Top = 0
Width = 455
Height = 291
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = "MS Sans Serif"
Font.Style = []
OldCreateOrder = True /// Откуда это гавно???
PixelsPerInch = 96
TextHeight = 13



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-28107
D_V_I
2002-11-28 13:15
2002.12.09
MoveTo, Pen.Color и LineTo слишком медленные, надо быстрее


1-27955
Alexander Vasjuk
2002-11-29 12:38
2002.12.09
Отображение связанных данных


6-28183
jel
2002-10-15 17:15
2002.12.09
Окошко, не желающее становиться активным


6-28162
Leviathan
2002-10-13 23:14
2002.12.09
Cookies


14-28228
Suprime
2002-11-14 21:34
2002.12.09
Нужно обойти





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский