Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.05;
Скачать: [xml.tar.bz2];

Вниз

Static variables   Найти похожие ветки 

 
id_privin   (2002-07-23 14:29) [0]

Читаю, help , но не нахожу : Как в Delphi сделать статического члена класса, и как его проинициализировать.

Спасибо.


 
Skier   (2002-07-23 14:47) [1]

>id_privin


> сделать статического члена класса


Поясни...


 
id_privin   (2002-07-23 15:35) [2]

Поясняю, в объекте есть поле, которое одинаково для всех объектов данного класса (например счетчик созданных объектов)


 
Skier   (2002-07-23 15:42) [3]

>id_privin
Каждый объект должен использовать общее (одно и то же) поле или оно должно быть у каждого объекта своё ???


 
id_privin   (2002-07-23 15:48) [4]

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


 
Игорь Шевченко   (2002-07-23 15:49) [5]

Сделайте глобальную переменную и не мучайтесь


 
Skier   (2002-07-23 15:50) [6]

>id_privin
Тогда см. Игорь Шевченко © (23.07.02 15:49)


 
MBo   (2002-07-23 15:55) [7]

Точного аналога нет.
Функциональность достигается через классовые методы и внутреннюю переменную модуля с классом.


 
id_privin   (2002-07-23 15:59) [8]

Нельзя глобальную, тк она должна быть сугубо private, иначе последствия могут быть плачевны.
Неужели нельзя как в плюсах написать чтото типа
variable : integer; <что-то здесь>;


 
Внук   (2002-07-23 16:00) [9]

Статических переменных класса, как в С, здесь нет. А жаль...


 
Skier   (2002-07-23 16:02) [10]

>id_privin
const
AMyVar : Integer = 100;


 
MBo   (2002-07-23 16:03) [11]

>и внутреннюю переменную модуля с классом
объявляешь ее в implementation и приватней не бывает


 
Внук   (2002-07-23 16:04) [12]

>>Skier © (23.07.02 16:02)
Я бы не назвал это "сугубо private" :)))


 
Skier   (2002-07-23 16:14) [13]

>Внук
Ты прав, коллега ! :)
Просто я уже думал что мы договорились насчёт
глобальной переменной...


 
MBo   (2002-07-23 16:16) [14]

unit Unit2;
interface
type TA=class
class function NumberOf:Integer;
// class function не обязательно, но позволяет обращаться БЕЗ создания экземпляра!
constructor Create;
end;

implementation
var
ANumber:Integer=0;//или в секции Initialization можно присвоить

{ TA }
constructor TA.Create;
begin
inc(ANumber);
end;

class function TA.NumberOf: Integer;
begin
Result:=ANumber;
end;




unit Unit1;
...
procedure TForm1.Button1Click(Sender: TObject);
var a:ta;
begin
a:=ta.create;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Caption:=IntToStr(TA.NumberOf);
end;




 
Внук   (2002-07-23 16:26) [15]

>>Skier ©
:)) Как показывает практика, все мало-мальски удобное рано или поздно переезжает из С++ в Object Pascal, хотя и с видоизменениями. И хотя перегрузки операторов, по-видимому, не будет, я все же надеюсь, что аналог
class ...
static int i;
когда-нибудь появится :)



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

Форум: "Основная";
Текущий архив: 2002.08.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.005 c
3-13567
sdram
2002-07-15 15:05
2002.08.05
Помогите отредактировать запись.


8-13733
Avgurin
2002-03-26 02:30
2002.08.05
Как сделать ScreenMate?


1-13685
Извращенец
2002-07-14 20:04
2002.08.05
флаг, показывающий положение кнопки мыши ?


14-13784
ProfiUgl
2002-07-10 11:26
2002.08.05
Достойное описание работы с СОМ - серверами


8-13722
F-Nick
2002-03-27 12:58
2002.08.05
Компоненты и графика





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский