Главная страница
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.024 c
14-1101958957
080D:07BBh
2004-12-02 06:42
2004.12.19
Кажется опять студенты пошли со своими лабараторными.


1-1101901985
tytus
2004-12-01 14:53
2004.12.19
Как скопировать 60 байт?


8-1096008495
Darkwing
2004-09-24 10:48
2004.12.19
Встроенный в WinXP голос должен заговорить.


6-1097164875
raidan
2004-10-07 20:01
2004.12.19
Перехват всех пакетов


9-1092598064
Knoxville
2004-08-15 23:27
2004.12.19
Программа чтения игр от PlayStation