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

Вниз

Как правильно присвоить значения сразу же после создания объекта?   Найти похожие ветки 

 
SP   (2009-03-17 16:34) [0]

unit FrameSetting;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs,Ora, StdCtrls;

type
 TFrmSetting = class(TFrame)
   GBxConnect: TGroupBox;
   LblName: TLabel;
   LblPass: TLabel;
   LblTNS: TLabel;
   LblSid: TLabel;
   LblServer: TLabel;
   LblPort: TLabel;
   EdName: TEdit;
   EdPass: TEdit;
   EdTNS: TEdit;
   EdSID: TEdit;
   EdServer: TEdit;
   EdPort: TEdit;
   CbODAC: TCheckBox;
   BtnTest: TButton;
   BtnSave: TButton;
   constructor Create(AOwner:TComponent;OraSession:TOraSession); reintroduce; overload;
 private
   FOraSession:TOraSession;
 public
   { Public declarations }
 end;

implementation
{$R *.dfm}
uses main;

constructor TFrmSetting.Create(AOwner:TComponent;OraSession:TOraSession);
begin
 Create(AOwner);
 FOraSession:=OraSession;
end;

end.


Но нужно сразу после создания фрейма сделать вот это:

 EdName.Text:=DBUsername;
 EdPass.Text:=DBPassword;
 EdTNS.Text:=DBTNS;
 EdSID.Text:=DBSID;
 EdServer.Text:=DBServer;
 EdPort.Text:=IntToStr(DBPort);
 CbODAC.Checked:=DBODAC;


Если помещестить все это в конструктор - то это не дает никаких результатов, думаю из-за того, что соответствующие объекты на то время еще не созданы (странно только что я при этом не получаю ексепшенов)

События OnCreate у фрейма нет...
Как мне правильно поступить?


 
SP   (2009-03-17 16:38) [1]

Можно конечно попробовать сделать через Рostmessage, но ИМХО это будет выглядеть по-идиотски


 
Anatoly Podgoretsky ©   (2009-03-17 16:45) [2]

> SP  (17.03.2009 16:34:00)  [0]

Сделай это в OnShow


 
Ega23 ©   (2009-03-17 16:46) [3]

перекрыть TFrame.AfterConstruction  ?


 
SP   (2009-03-17 16:54) [4]


> Сделай это в OnShow


Его у фрейма тоже нет..


> Ega23 ©   (17.03.09 16:46) [3]
>
> перекрыть TFrame.AfterConstruction  ?


Хм... Щас попробую.


 
SP   (2009-03-17 16:59) [5]


> перекрыть TFrame.AfterConstruction  ?


Работает. Спасибо!


 
MsGuns ©   (2009-03-17 16:59) [6]

Кстати действительно есть определенные неудобства оттого что у фрэйма нет OnCreate - приходится писать и извне вызывать методы, инициализирующие фрйэм. Аналогично при его разрушении

Может, я чего-то недопонимаю ?


 
Ega23 ©   (2009-03-17 17:11) [7]


> Может, я чего-то недопонимаю ?


Есть AfterConstruction, есть BeforeDestruction. Они виртуальные.


 
SP   (2009-03-18 00:15) [8]


> Они виртуальные.


Хм... Не то чтобы именно виртуальные, но пустые. По крайней мере в D7


 
Германн ©   (2009-03-18 00:25) [9]


> SP   (18.03.09 00:15) [8]
>
>
> > Они виртуальные.
>
>
> Хм... Не то чтобы именно виртуальные, но пустые.

Главное, что они именно виртуальные. Поэтому то что они пустые - это ерунда.


 
девушка   (2009-03-18 07:43) [10]


> Есть AfterConstruction, есть BeforeDestruction. Они виртуальные.


интересно, конечно...
Но я обычно пишу 2 метода - для инициализации и для очистки, а потом вы вызываю их в форме.
Одно из преимуществ - возможность передачи каких угодно параметров.


 
Ega23 ©   (2009-03-18 09:07) [11]


> Но я обычно пишу 2 метода - для инициализации и для очистки,
>  а потом вы вызываю их в форме.
> Одно из преимуществ - возможность передачи каких угодно
> параметров.
>


Ну и пиши свои методы, кто запрещает-то?
А вызов ставь в AC и BD. Или свой механизм придумывай.
Минус BeforeDestruction в том, что отменить действие не получится. В отличие от какого-нибудь Tform.OnCloseQuery


 
Cobalt ©   (2009-03-19 11:35) [12]

> Ega23 ©   (18.03.09 09:07) [11]
> Минус BeforeDestruction в том, что отменить действие не
> получится. В отличие от какого-нибудь Tform.OnCloseQuery


К фрейму это, слава богу, неприменимо. Это ж не форма какая, которую можно закрыть, или как "закрытие вкладки в Tab-контроле".


 
Плохиш ©   (2009-03-19 12:17) [13]


> SP   (18.03.09 00:15) [8]
>
>
> > Они виртуальные.
>
>
> Хм... Не то чтобы именно виртуальные, но пустые.

Как пустота связана с виртуальностью?



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

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

Наверх





Память: 0.47 MB
Время: 0.006 c
15-1235821749
TInt
2009-02-28 14:49
2009.05.03
Чем отличается OnClose от OnDestroy ?


9-1179207904
pohil
2007-05-15 09:45
2009.05.03
Помогите с OpenGL


2-1237367742
b@v
2009-03-18 12:15
2009.05.03
Размер по экрану


2-1237905631
Magedon
2009-03-24 17:40
2009.05.03
Typecasting


2-1237453662
matveih1
2009-03-19 12:07
2009.05.03
Почему форма меняет размер?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский