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

Вниз

Освобождение ресурса в finally   Найти похожие ветки 

 
Игорь Шевченко ©   (2008-04-24 15:21) [120]


> Это методы класса, которые могут вызываться без создания
> объекта!!!


они вообще с первой версии Delphi имеются.


 
Palladin ©   (2008-04-24 15:21) [121]


> ZENsan ©   (24.04.08 15:19) [119]

ты это, больной на голову чтоли? а я тебе о чем говорю, или ты считаешь что я читать не умею...


 
ZENsan ©   (2008-04-24 15:22) [122]

Вэ даже на факти с официального сайта разработчика не обращаете внимания - чего тут говоить-то
http://dn.codegear.com/article/34324


 
ZENsan ©   (2008-04-24 15:23) [123]

До 7 делфи вы можете описать только динамические методы класа. И статические были только конструктор/деструктор...


 
Palladin ©   (2008-04-24 15:24) [124]


> ZENsan ©   (24.04.08 15:23) [123]

хватит гнать пургу...


 
ZENsan ©   (2008-04-24 15:25) [125]

А скажи нет еще...? Я болен вместе с CodeGear да?


 
Palladin ©   (2008-04-24 15:27) [126]

да у меня D5 и D6
я с D6 работаю ~6 лет
возможно они есть и в D4
за раньше не скажу


 
Игорь Шевченко ©   (2008-04-24 15:29) [127]

"Unlike ordinary class methods, class static methods have no Self parameter at all"
"Also unlike class methods, class static methods cannot be declared virtual. "

и вся разница.

ZENsan ©   (24.04.08 15:23) [123]


> И статические были только конструктор/деструктор...


деструктор всегда виртуальный (у TObject), следовательно не может быть статическим.


 
ZENsan ©   (2008-04-24 15:30) [128]

Я начинал с 4-ого... Их там никогда не было и в 5 небыло, и в 6-ом.. и в 7-ом..

Может у тебя в 7-ом ещё и записи с методами естй??
типа

type TmyRecord = record
 Value: Integer;
 procedure SomeProc;
end;


 
Восхищенный   (2008-04-24 15:30) [129]

> ZENsan ©   (24.04.08 15:09) [109]

Ссылку посмотрел. Полезная. Для начинающих. Мне уже поздно. Видишь ли, в чем штука - я подобные статьи писал (именно так - уже не читал, а писал) еще когда даже Win32 еще только в проекте была. То есть, лет около 15 тому назад - и именно по Delphi 1 (а других тогда и не было).

Еще раз тебе говорю - классовые методы существовали в Delphi всегда, начиная с самой первой версии. И не спорь даже. Не позорься.

Что касается второй ссылки ("в описании Делфи 2005 описивается это как новоая возможность") - то ты перепутал, извини, зеленое с горячим. Там речь идет совсем о другом.


 
Palladin ©   (2008-04-24 15:31) [130]

почитал то что по ссылке, что то бред какой то, зачем метод класса делать еще и статическим. чем

Class Function Func:Integer;

отличается от
Class Function Func:Integer; Static;


 
ZENsan ©   (2008-04-24 15:32) [131]

Удалено модератором


 
Palladin ©   (2008-04-24 15:32) [132]


> ZENsan ©   (24.04.08 15:30) [128]

еще раз говорю, прекрати нести пургу
процедур в записях нет конечно


 
Anatoly Podgoretsky ©   (2008-04-24 15:33) [133]

> Palladin  (24.04.2008 15:24:04)  [124]

Жалко мне Борланда и проект JEDI


 
ZENsan ©   (2008-04-24 15:34) [134]

Удалено модератором


 
Palladin ©   (2008-04-24 15:34) [135]


> ZENsan ©   (24.04.08 15:32) [131]

да ты достал уже, все прекрасно понимают что ты тут несешь

Type
TShowMessage=Class
 Class Procedure ShowMessage;
End;

...
TShowMessage.ShowMessage
...

найди любой компилятор старый и откомпилируй


 
ZENsan ©   (2008-04-24 15:38) [136]

Удалено модератором


 
Palladin ©   (2008-04-24 15:39) [137]


> Bolshe ja s vami na etu temu obshatsja ne budu...

ну и слава богу...


 
Восхищенный   (2008-04-24 15:41) [138]

> ZENsan ©   (24.04.08 15:23) [123]

> До 7 делфи вы можете описать только динамические методы класа.

А также виртуальные, статические, абстрактные и классовые (которые, в свою очередь, тоже могут быть виртуальными и т.д.)

> И статические были только конструктор/деструктор...

Так. На этом базар заканчиваем. Если человек не знает:

- что статические методы в Delphi были тоже всегда (притом любые);
- что деструктор в Delphi статическим вообще никогда не был;
- что начиная с класса TComponent конструктор всегда был виртуальным...

но, не зная даже такой элементарщины, еще и спорит (постоянно путаясь в терминологии) - то этот человек называется "воинствующий чайник".

Иначе говоря - "ламер". Спорить с такими бесполезно. И не нужно.


 
sniknik ©   (2008-04-24 15:48) [139]

ожидали чегото иного от использующего транслит?
имхо, это показатель. нынче возможность писать нормально есть, а транслит используют только любители "погнуть пальцы".


 
Ega23 ©   (2008-04-24 16:04) [140]


> ожидали чегото иного от использующего транслит?
> имхо, это показатель. нынче возможность писать нормально
> есть, а транслит используют только любители "погнуть пальцы".


Это что, новая мода какая-то?


 
Anatoly Podgoretsky ©   (2008-04-24 16:08) [141]

> Palladin  (24.04.2008 15:34:15)  [135]

Лучше всего Д1


 
ZENsan ©   (2008-04-24 16:09) [142]

Класс-метод это метод, который может быть вызван из Типа, а не объекта.

TMyClass.SomeMthod(params, params,...)

Этот метод не имеет указателя Self - одни из главных отличий класс-методов от методов класса. Не путать.

А вы мне втираете virtual.... они не могут быть virtual.. не могут быть dynamic, но может быть astract.

Это про Delphi 2007 если что.

Вы меня извините конечно за мой русский корявый может - я не в России живу. Но я подозреваю вы не присмотрелись в разницу между "Метод класса" и "Класс-метод". Ну зайдите кот-нибудь на оф. сайт http://dn.codegear.com/article/34324 и прочтите...я же не просто так пытаюсь вам пояснить.. Я говорю про Класс-методы а не про методы класса, которые ещё паскале были. В добавок к КЛАСС-МЕТОДАМ добаивлась возможность КЛАСС-ПЕРЕМЕННИХ:

var
 X: TmyClass;
 i: Integer;
begin
 i := TMyClass.GetTickCount;//например
end;

Ну плиизз может хоть до кого-то дойдёт наконец о чём я говорю... или скажите как это по русски КЛАСС-МЕТОД.....
end;


 
Anatoly Podgoretsky ©   (2008-04-24 16:09) [143]

> sniknik  (24.04.2008 15:48:19)  [139]

Вот только на нас обжегся, заставили писать нормально, теперь хвастаться можно.


 
Palladin ©   (2008-04-24 16:12) [144]


> ZENsan ©   (24.04.08 16:09) [142]

ты реально болен...


 
Ega23 ©   (2008-04-24 16:15) [145]


> TMyClass.SomeMthod(params, params,...)
>
> Этот метод не имеет указателя Self - одни из главных отличий
> класс-методов от методов класса. Не путать.


С чего ты взял, что внутри class procedure или class function Self нельзя использовать? Посто там он указатель на тип класса, на не на экземпляр.


 
ZENsan ©   (2008-04-24 16:15) [146]

что такое

type
 TMyClass = class
   class var x: Integer;
 end;

вы тоже не знаете или у вас уже в 4 делфи это есть...


 
ZENsan ©   (2008-04-24 16:17) [147]

"class static methods have no Self parameter at all" - официальный источник.

Это про Делфи 2007. Там нету вообще Селф.


 
ZENsan ©   (2008-04-24 16:18) [148]

Ты не можеш также получать доступ к полям класса (которие не класс-поля)..


 
Palladin ©   (2008-04-24 16:19) [149]


> ZENsan ©   (24.04.08 16:17) [147]

это статический метод класс, тебе уже сказали, что ты мягкое с теплым перепутал...

короче, вердикт: LMD


 
ZENsan ©   (2008-04-24 16:23) [150]

Значит у тебя в 7 делфи они есть? Как и класс-переменные?


 
Anatoly Podgoretsky ©   (2008-04-24 16:23) [151]

> ZENsan  (24.04.2008 16:15:26)  [146]

Ты чего юлить начал?


 
ZENsan ©   (2008-04-24 16:24) [152]


> Ты чего юлить начал?

Делфи 2007 синтаксис


 
Игорь Шевченко ©   (2008-04-24 16:32) [153]

"Кто не работает, не ест, ты спутал, батя"


 
ZENsan ©   (2008-04-24 16:33) [154]

Я просто рассказываю-то не static members...


type
 TMyClass = class
   strict private
     class var
       FX: Integer;
   strict protected  

   // Note: accessors for class properties must be declared class static.

     class function GetX: Integer; static;
  class procedure SetX(val: Integer); static;
   public
     class property X: Integer read GetX write SetX;
  class procedure StatProc(s: String); static;
 end;

TMyClass.X := 17;
TMyClass.StatProc("Hello");


Или вы даже сайту CodeGear не верите уже...что это новшество в языке и появилось только недавно.


 
{RASkov} ©   (2008-04-24 16:34) [155]

> [146] ZENsan ©   (24.04.08 16:15)

Классовые методы имеются всегда. TObject он вообще практически из них только и состоит, а вот классовые переменные появились позже... позже D7..


 
Игорь Шевченко ©   (2008-04-24 16:35) [156]


> ZENsan ©   (24.04.08 15:16) [115]
> Palladin
>
> type TMyClass - class
>  class procedure SomeProc;
> end;
>
> Потом ты пишеш в проге просто:
>
> ...
> TMyClass.SomeProc;
> ...
>
> Это класс-метод...
> В 7 делфи такого нету. Или я ошибаюсь?


Ошибаешься


 
ZENsan ©   (2008-04-24 16:35) [157]

Игорь неужели даже вы не видите различия здесь от Делфи 7....


 
{RASkov} ©   (2008-04-24 16:37) [158]

> [157] ZENsan ©   (24.04.08 16:35)

А что от чего отличаем-то?


 
ZENsan ©   (2008-04-24 16:40) [159]


> А что от чего отличаем-то?


begin
 TMyClass.X := 17;
 TMyClass.StatProc("Hello");
end.


 
Игорь Шевченко ©   (2008-04-24 16:41) [160]

ZENsan ©   (24.04.08 16:35) [157]

type TMyClass = class
 class procedure SomeProc;
end;

...
 TMyClass.SomeProc;

Этот код можно выполнить в D1,D2,D3,D4,D5,D6,D7, далее со всеми остановками до станции Можайск Смоленского направления.



Страницы: 1 2 3 4 5 6 7 8 9 
10 11 12 13 14 15 16 17 вся ветка

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

Наверх





Память: 0.8 MB
Время: 0.121 c
11-1190048966
Seaniapeape
2007-09-17 21:09
2008.06.08
Нужен совет


15-1209541192
ПЛОВ
2008-04-30 11:39
2008.06.08
Разборка с NumLock


8-1181815939
MovieMan
2007-06-14 14:12
2008.06.08
Модули для lame_enc.dll


15-1209027549
БарЛог
2008-04-24 12:59
2008.06.08
Компьютер+Внешний IP+ Radmin_с_паролем


6-1188565957
Андрей Пл
2007-08-31 17:12
2008.06.08
Как узнать программно имя машины и IP адрес





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