Форум: "Начинающим";
Текущий архив: 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