#include "Unit2.h"
int x;
........ гм... в общем, читайте....
Пробую писать в Билде, но не знаю (стыд мне и позор! P( ), как решить махонькую траблу:
Есть 2 формы, одна основная, вторая дополнительная...
Хочу создать переменную... да так хочу создать, чтобы её контент можно было изменить как из первой формы, так и из второй...
тоесть создать формонезависимую (о какую!) переменную... а то у мну получаются только такие,
что изменить её в теле формы1 можно, а формы2 - увы, нет... :x
как лепить вызов одной формы из другой я научился... (правда прошло дня два экспериментов, чтобы понять с нуля, как сделать (и вызвать, соответственно) формочку "Об этом..." ;) )...
вот, собсно и всё... сёдня буду ещё пробовать, но вы, уважаемые, не побрезгуйте ответом...
Спасибо...
Надеюсь не очень путанно написал.
#include "Unit2.h"
Если переменая глобальная, то как и в BC3.1, если переменная является аттрибутом класса формы, то
Form1->имя_переменной.
Страуструп тебе поможет
Цитата:
Originally posted by Бешеный кролик
Каждая форма - это класс. ...
Каждая форма - это класс. ...
Судя по:
Цитата:
Классы и указатели не люблю... очень]:devil: ... вот...
могу предположить, что разговоры про классы вызовут не очень хорошии эмоции:) .
Можно еще описать переменную как extern, т.е. после описания класса в заголовочном файле (там где что-то типа extern PACKAGE TForm *Form1;) записать например extern int var1;. Теперь достаточно подключить этот хидер туда где тебе нужно использовать эту переменную и все.
Цитата:
Originally posted by Abell2000
Судя по:
могу предположить, что разговоры про классы вызовут не очень хорошии эмоции:) .
Можно еще описать переменную как extern, т.е. после описания класса в заголовочном файле (там где что-то типа extern PACKAGE TForm *Form1;) записать например extern int var1;. Теперь достаточно подключить этот хидер туда где тебе нужно использовать эту переменную и все.
Судя по:
могу предположить, что разговоры про классы вызовут не очень хорошии эмоции:) .
Можно еще описать переменную как extern, т.е. после описания класса в заголовочном файле (там где что-то типа extern PACKAGE TForm *Form1;) записать например extern int var1;. Теперь достаточно подключить этот хидер туда где тебе нужно использовать эту переменную и все.
А потом запаришься определять кто и когда изменил твою глобальную переменную, не лучше поступи так как тебе до этого советовали так проще ошибки отлавливать...
Как мне написать программу на С++, где есть 2 формы, одна основная, вторая дополнительная...
Ответ: пиши на другом языке, где нет классов, фигурных скобочек, указателей и прочей ненужной ерунды.
2 Бешеный кролик: я понял, то, что Вы описали... Собственно я именно так сейчас и делаю, за неимением того, что хочу...
2 mike: в этом случае мне выдаёт ворнинг, дескать имя_переменной объявлено в обеих хпп - в юнит1 и юнит2... (без добавления хедера второго юнита в первый и наоборот (нажатие Альт+Ф11(или Ф12, не помню)) не вызывается какая-либо из форм... типа неивестно что это такое)
2 Abell2000: этого я ещ не пробовал... спасибо, поэкспериментирую...
2 vladsoft: если не возражаете, попытаюсь не писать кода, в котором не буду знать, кто что изменил... ;)
2 Green: мдя... плохо, что Вы обо мне так подумали...
Цитата:
Originally posted by Антидот
2 Green: мдя... плохо, что Вы обо мне так подумали...
2 Green: мдя... плохо, что Вы обо мне так подумали...
Конечно, каждый имеет свои пристрастия, но не понятно зачем писать на языке не используя его основные достоинства и основные механизмы?
Цитата:
2 mike: в этом случае мне выдаёт ворнинг, дескать имя_переменной объявлено в обеих хпп - в юнит1 и юнит2... (без добавления хедера второго юнита в первый и наоборот (нажатие Альт+Ф11(или Ф12, не помню)) не вызывается какая-либо из форм... типа неивестно что это такое)
Unit1.c:
Код:
Unit2.c:
Код:
#include "Unit1.h"
extern int x;
extern int x;
А вообще Green правильно сказал. Рабирись лучше с классами и ты их полюбишь :)
2 mike :
Unit1.c:
#include "Unit1.h"
#include "Unit2.h" // после добавления второй формы... и включения её хедера в си-файл...
Unit2.c:
#include "Unit2.h"
#include "Unit1.h" //после и включения хедера в си-файл...
у меня так... иначе формы не видят друг-друга... или одна видит, а другая нет...
в любом случае, спасибо... попробую...
ЗЫ а как Вы делаете этот отступ с заголовком [COLOR=blue]code:[/COLOR] ???
ЗЗЫ а насчёт классов и другого: так уж сложилось, что не сильно нравятся они мне...