Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.011 c
7-1683
pauk
2003-06-16 15:43
2003.09.01
Принтеры


14-1583
Внук
2003-08-13 14:36
2003.09.01
Удаление веток


6-1541
BlackSun
2003-06-26 18:42
2003.09.01
RasGetEntryDialParams - не могу получить номер телефона


4-1708
seemann
2003-07-01 13:40
2003.09.01
Callback функция


1-1404
PlaZZma
2003-08-16 02:12
2003.09.01
передача компонента в функцию





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский