Форум: "Основная";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
ВнизПодскажите как из 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c