Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

Почему показывает график только после выхода из проги???   Найти похожие ветки 

 
cvg   (2004-12-01 16:02) [0]

Hi All! Тут недавно я задавал вопрос. Это его продолжение. Короче, простенький каркас проги, но график выводится на экран все только по завершении программы, а по моему разумению вывод на экран должен происходить каждый цикл по команде Application.ProcessMessages;... Почему???

Ниже -- тексты файлов Project1.dpr и Unit1.pas:

program Project1;

uses
 Forms, SysUtils, Dialogs,
 Windows, Messages, Variants, Classes, Graphics, Controls,
 StdCtrls, ExtCtrls, OleServer, ClipBrd, StrUtils,
 Unit1 in "Unit1.pas" {Form1};

{$R *.res}

begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
//  TForm1.Width := Screen.Width;
 Application.Run;
end.

и

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls, OleServer, ClipBrd, StrUtils, math,
 DateUtils, TeeProcs, TeEngine, Chart, Series, BubbleCh, Qt;

type
 TForm1 = class(TForm)
   Chart1: TChart;
   Series1: TLineSeries;
   procedure Showing(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1; n:integer;
implementation

{$R *.dfm}

procedure TForm1.Showing(Sender: TObject);
var n:integer;
begin
 n := 0;
 repeat
  n := n + 1;
  Series1.AddXY(n,n/2,"qq",clRed);
  Application.ProcessMessages;
 until n > 300;
end;

end.


 
MBo ©   (2004-12-01 16:16) [1]

график выводится на экран все только по завершении программы
это как???


 
cvg   (2004-12-01 16:23) [2]

Ну, в смысле, когда в отладчике прога доходит до последнего энда (который с точкой).


 
olookin ©   (2004-12-01 16:25) [3]

Chart1.Update?


 
cvg   (2004-12-01 16:45) [4]

Хмм, я воообще обнаружл, что и сама форма выводится на экран только в конце программы. Как сделать, чтобы это было в начале?


 
Amoeba ©   (2004-12-01 17:01) [5]

А где в программе происходит вызов этого метода?
procedure TForm1.Showing(Sender: TObject);


 
cvg   (2004-12-01 17:17) [6]

А, да, забыл сказать, что в Events для Form1 стоит OnCreate - Showing.


 
Amadey   (2004-12-01 17:38) [7]

А отображение формы происходит только после выполнения OnCreate().
Поэтому тебе необходимо делать прорисовку либо при нажатии кнопки либо из запускающей формы, например

GraphicForm := TGraphicForm.Create(Aplication);
GraphicForm.Show;
GraphicForm.Showing(Self);
...

Если нехочешь делать кнопку или использовать другую форму, тогда можно попробовать при событии OnActivate(). Это событие вызывается уже после прорисовки самого окна формы.


 
cvg   (2004-12-01 17:49) [8]

Во, блин, спасибо огромное -- по OnActivate спаботало!!!



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

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
11-1084155649
Yustas
2004-05-10 06:20
2004.12.19
Наглый вопрос


3-1100872886
Wolffgang
2004-11-19 17:01
2004.12.19
fkCalculated = -1, потом 2


1-1101982296
Zif
2004-12-02 13:11
2004.12.19
Как перевести из Кб в Мб?


14-1101990965
by
2004-12-02 15:36
2004.12.19
ECO, MDA и прочие новомодные технологии. Использует ли кто их?


1-1101985536
Zif
2004-12-02 14:05
2004.12.19
Удобные сворачивающиеся Begin...end в delphi 8