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

Вниз

Подскажите как из 2-го модуля вывести в 1-м в Label текст.   Найти похожие ветки 

 
ossa   (2003-08-18 08:41) [0]

Например:
//Модуль 2
procedure Str1(Str2:String);
// нужно показать в 1-ом модуле Str2, т.е.
Unit1.Label1.Caption:=Str2;//ошибка здесь
...
end;

//Модуль1
//здесь форма с Label
procedure TFormUnit.Button1Click(Sender: TObject);
begin
Unit1.Str1("OK!");
end;


 
Palladin ©   (2003-08-18 08:43) [1]

uses + F1


 
Anatoly Podgoretsky ©   (2003-08-18 08:52) [2]

Есть ли ошибка или у тебя предположение.


 
ossa   (2003-08-18 08:57) [3]

есть, пишет не задекларирована, хотя подключил модуль1
Unit1.Label1.Caption:=Str2;//вообще это правильно описано


 
Palladin ©   (2003-08-18 09:00) [4]

в секции interface объявил?


 
Zacho ©   (2003-08-18 09:02) [5]


> ossa (18.08.03 08:57)

А есть ли в Unit1 переменная Label1 ? Мне вот кажется, что Label1 у тебя все-таки поле формы, а не переменная, и надо что-то типа Unit1.Form1.Label1.Caption:=Str2


 
Palladin ©   (2003-08-18 09:06) [6]

Unit1.Form1.Label1.Caption:=Str2;


 
Anatoly Podgoretsky ©   (2003-08-18 09:07) [7]

Написано правильно, а вот закдекларирование опять загадка для нас. Ты не желаешь? привести подробную информацию - секция/uses.
В обеих файлах, включая объявления задействованных объектов.


 
Skier ©   (2003-08-18 09:09) [8]

название_модуля_где_объявлена_форма.FormUnit.Label1.Caption:=Str2;


 
ossa   (2003-08-18 09:13) [9]

нет, объявленно в implementation, так как я использую переменные из модуля 1, т.е. при объявлении модуля1 в интерфейсе ошибки в работе с этой переменной, конкретнее
unit unit2;
interface
uses win... и т.д.
implemenation
uses unit1;
procedure proc1();
//здесь использую переменную из модуля1
end;
procedure Str1(Str2:String);
begin
//здесь отправляю на вывод в модуль1
Unit1.Label1.Caption:=Str2;//ошибка здесь
...
end;


 
ossa   (2003-08-18 09:20) [10]

СПАСИБО Palladin ,Anatoly Podgoretsky ,Skier,Zacho
название_модуля_где_объявлена_форма.FormUnit.Label1.Caption:=Str2;
Unit1.Form1.Label1.Caption:=Str2;

Вот это, как раз нужно было! СПАСИБО!


 
Anatoly Podgoretsky ©   (2003-08-18 09:22) [11]

Так у тебя наверно нет объекта с именем Label1, есть большое подозрение, что это член какой ни будь формы.
Почему не привел объявление хотя тебя просили?


 
ossa   (2003-08-18 09:29) [12]

Anatoly Podgoretsky © (18.08.03 09:22) [11]
Так у тебя наверно нет объекта с именем Label1, есть большое подозрение, что это член какой ни будь формы.
Почему не привел объявление хотя тебя просили?

Да, такого объекта нет, она у меня описана в
unit pro;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TFormUnit = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit6: TEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
procedure Edit1Change(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Edit5Change(Sender: TObject);
procedure Edit6Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
FormUnit: TFormUnit;
Maska,MaskBad,MaskGood,StrDial,StrBad,StrDialed:String;

implementation
uses UnitFile;
{$R *.DFM}

У меня вопрос, не могли подробно описать доступ из другого модуля, как вы это видели вопрос(т.е. другие варианты, и что этому должно предшествовать)


 
Anatoly Podgoretsky ©   (2003-08-18 09:37) [13]

Формат простой module.member....member
Упрощенный - слева опускаются одназначные члены


 
ossa   (2003-08-18 09:48) [14]

Т.е. , чтоб не использовать
Unit1.Form1.Label1.Caption:=Str2;
а использовать к примеру только
Label1.Caption:=Str2;

Мне нужно, создать (какой-то объект) или что...
Честно говоря я не понял?(если я использую переменную , которая описана в разделе переменных(т.е. создаем ее экземпляр-объекта) то Unit1.Form1 не требуеться, а если оно описана в разделе TYPE(т.е. просто описываем какой-то объект), то необходимо Unit1.Form1.Label1.Caption:=Str2 (или еще как можно получить доступ?))


 
Bel ©   (2003-08-18 10:44) [15]

Ты можешь опускать только имя юнита, оно нужно только если у тебя в двух юнитах встречаются два одинаковых идентификатора (имя переменной, напр.). Например, в юнитах Unit1 и Unit2 описаны формы, которые имеют одинаковое имя: Form1: TForm1. Тогда тебе надо явно указывать, к форме из какого юнита ты обращаешься: Unit1.Form1 или Unit2.Form1.



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

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

Наверх




Память: 0.5 MB
Время: 0.019 c
3-1308
DmitryA
2003-08-06 18:12
2003.09.01
Apollo


14-1618
Calm
2003-08-13 09:01
2003.09.01
Атака на форум - террор в инете. Предлагаю способ защиты.


7-1694
gunner
2003-06-16 14:33
2003.09.01
Получение прав администратора в программе


14-1658
Ketmar
2003-08-12 11:53
2003.09.01
едё телевизор:


1-1373
Question
2003-08-16 18:03
2003.09.01
Указателю на динамический массив значения после GetMem