Главная страница
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.052 c
3-1100598738
Explorer
2004-11-16 12:52
2004.12.19
DBGridEh - выделение ячейки


1-1102354684
Gennadiy
2004-12-06 20:38
2004.12.19
Delphi и The Bat


1-1102426790
Aleksandr.
2004-12-07 16:39
2004.12.19
Какое сообщение отправить TMemo, чтобы он проскроллировался?


1-1102348908
Logs
2004-12-06 19:01
2004.12.19
Размер файла


11-1073121423
nsvi
2004-01-03 12:17
2004.12.19
ComboBox