Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Переменные в Дельфи


Автор: DeMoNN 23.3.2008, 16:43
Как сделать чтобы переменная главной формы была видна другим формам без объявления?

Автор: kemiisto 23.3.2008, 16:48
Цитата(DeMoNN @  23.3.2008,  16:43 Найти цитируемый пост)
без объявления?

Не очень понял, а вообще нужно добавить в модули, соотв. этим другим формам, в раздел uses модуль, соотв. главной форме.
Код

unit Unit2;

uses
  ..., Unit1;




Автор: DeMoNN 23.3.2008, 16:51
спс

Добавлено через 1 минуту и 26 секунд
а обЪекты?

Автор: Alexeis 23.3.2008, 17:16
  Объект это тоже переменная, потому все аналогично.

Автор: Christoph 23.3.2008, 17:16
всё что есть в Unit1, как показали выше, ты можешь использовать в дальнейшем!

Автор: DeMoNN 23.3.2008, 18:28
В чём здесь ошибка?
Код

unit lin2;

interface

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

type
  TForm5 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    Label3: TLabel;
    Label2: TLabel;
    Edit2: TEdit;
    Edit1: TEdit;
    Label4: TLabel;
    Edit3: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

type
  TForm3 = class(TForm)
    Chart1: TChart;
    ComboBox2: TComboBox;
    Label2: TLabel;
    Button1: TButton;
    Series1: TLineSeries;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form5: TForm5;
  Form3: TForm3;
  a,b,c:extended;
implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);
begin
  a:=StrToFloat(Edit1.Text);
  b:=StrToFloat(Edit2.Text);
  c:=StrToFloat(Edit3.Text);
  repeat
    Chart1.Series[0].AddXY(levo,(-c-a*levo)/b);
    levo:=levo+shag;
  until levo>pravo;
end;

end.

Компилятор ругается:
[DCC Error] lin2.pas(28): E2003 Undeclared identifier: 'TChart'
[DCC Error] lin2.pas(32): E2003 Undeclared identifier: 'TLineSeries'
[DCC Error] lin2.pas(32): E2217 Published field 'Series1' not a class or interface type
[DCC Error] lin2.pas(53): E2003 Undeclared identifier: 'Chart1'
[DCC Error] lin2.pas(53): E2066 Missing operator or semicolon

переменная "levo","pravo" и "shag" находятся в юните "nastroyka_grafika", a TChart1 - в юните "graf" smile 

Автор: Christoph 23.3.2008, 18:59
надо написать вроде uses Chart, Series
дальше не известные переменные....
последняя ошибка - пропущен оператор или точка с запятой

Автор: DeMoNN 23.3.2008, 20:28
УРА ПОЛУЧИЛОСЬ!!! smile  smile 
УРА ПОЛУЧИЛОСЬ!!! smile  smile 
УРА ПОЛУЧИЛОСЬ!!! smile  smile 
УРА ПОЛУЧИЛОСЬ!!! smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)