Как добавить метод к пользовательскому объекту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Всем привет.
Как добавить метод к пользовательскому объекту? |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
PaulWist Сообщений: 14625 Дата регистрации: 01.04.2004 |
1. Либо, при открытом классе, меню: Class - NewProperty/Method
2. Либо, при открытой форме, меню: Form - NewProperty/Method 3. Либо в prg:
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Ой, Паш, боюсь, что сей субъект хочет в рантайме после проверки наличия метода его добавить...
------------------ Лень - это неосознанная мудрость. |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Не боясь!
"Ой, Паш, боюсь, .... хочет в рантайме после проверки наличия метода его добавить..." Именно. Но это невозможно, не так ли? Исправлено 4 раз(а). Последнее : AdamAry, 27.04.17 11:38 |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
А главное, что нет смысла. Это сразу показывает, на явные упущения в проектировании. ------------------ |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Но ведь есть смысл в oMyObj.AddProperty("Property","Privet"), так почему нет смысла в добавлении метода? Исправлено 1 раз(а). Последнее : AdamAry, 26.04.17 09:17 |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
В добавленный программно Property можно "положить значение". А как бы выглядело "положить код программы" в добавленный метод?
|
Re: Как добавить метод к пользовательскому объекту | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Mожно добавить св-во и ему присвоить код, кот. запускать через Execscript.
Я так делаю |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Выглядело бы так:
Цитата:А так нельзя?:
Или только так?:
Исправлено 6 раз(а). Последнее : AdamAry, 26.04.17 09:53 |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Возможно в каких-то случаях и есть. Что бы там ни говорили. Но такая вставка видимо была связано с тяжелым написанием кода. Как и в случае с гридом к примеру. И они просто похерили саму такую возможность, чтобы уж не мучиться. К тому же их и было-то всего человек 13 кажется, кто разрабатывал VFP. Что говорит опять-таки - о преднамеренном уничтожении корпорацией мС самогоэтого проекта, как могущего составить ненужную конкуренцию другим, намного более выгодным для них проектам. Впрочем, там, где все делается не для блага человека, а для блага капиталиста, это и не удивительно. Прибыль для класса угнетателей превыше всех благ всего остального человечества. И это ненормально, и должно быть уничтожено рано или поздно. И навсегда, уже окончательно, без шанса, какой был дан им в прошлый раз. Только тогда и наступит процветание и мир во всем мире. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Если у объекта существуют методы, значит должна быть возможность их добавлять, но почему то некоторые считают, что это блажь. Исправлено 1 раз(а). Последнее : AdamAry, 26.04.17 09:48 |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Очередной перл для скрижалей... Методы, в отличие от свойств, есть исполняемый код и как раз блажью является желание некоторых неокрепших умов менять программу прямо во время выполнения этой программы. И наличие такого желания говорит о плохом знании инструмента, в котором таки есть нормальные способы обойтись без этой блажи. ------------------ Лень - это неосознанная мудрость. |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
оффтоп
Когда слезал с FPD на VFP то первое, что надо было "позарез" (и для вхождения) - это форма-календарик. Вот создал на форме поле кнопок 6 рядов по 7 шт. Далее думаю, надо разместить простейший код в Click каждой кнопки. Тоже поискал "добавить метод". Да, было бы удобно небольшой код программно добавить в ИМЕЮЩИЙСЯ метод/событие. Не нашел (вернее там что-то было похожее, AddMethod, CloneObject) но все это в рантайме не годится. Тогда поступил просто - скопировал одну кнопку с готовым кодом в Click 42 раза (класс создавать ради календарика не стал, в проекте их и так много, а без иерархии в окне проекта как-то плохо...). Можно было бы BINDEVENT использовать, но тогда не... не наткнулся на него. Кстати, этот BINDEVENT не на все (не заполненные кодом, пусть хоть комментарием) события срабатывает... |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
На уровне кодов для разработчиков думаю практически все всегда решаемо.
Могли бы в том числе и такую возможность добавить. Единственное, что скорее всего тут помешало - дополнительное усложнение их собственной работы для осуществления такого решения. Тот самый конфликт, кому в итоге делать лучше: будущим пользователям фокспро или же самим разработчикам. Вопрос вполне резонно решился в пользу вторых. Элементарно меньше трудозатрат. Т.е. обычное административное решение. Чисто же принципиально - ну не было бы абсолютно ничего такого уж страшного, если бы при загрузке класса, можно было бы довешивать ему свой метод. Все можно правильно прописать и для всего сделать свой контроль и разруливание ситуаций. Ведь абсолютно никаких законов вселенной добавление своего метода в класс "на лету" - не нарушает! ;) А уж нужно-ненужно - это все опять же спорно и недоказуемо. Зачем скажем в тех же смартфонах куча ненужных кому-то конкретному вещей? Значит кому-то другому они все-таки бывают нужны. Все субъективно. Споры не имеют смысла. Просто по факту - не сделали чего-то в фокспро. Да, не сделали. Так больше же - уже и не сделают! Т.е. тут и тем более - любые споры или сожаления по любому такому поводу - и вовсе как бы бессмысленны. Ну нет - и нет. Что ж теперь. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
[attachment 27487 udif.jpg] |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
Влад Колосов Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
Перл всех перлов и нулевые знания принципов ООП. ------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
pasha_usue Сообщений: 3650 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Вот прямо даже интересно стало. А где сделали? |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
Sawradym Сообщений: 2244 Откуда: Винница Дата регистрации: 15.05.2007 |
Для внесения некого подобия динамики у методов придуманы параметры. Т.е. В зависимости от параметров метод выдает различный результат. Если же так хочется добавить на лету метод, то сразу хочется спросить, а кто будет генерировать код для этого метода? Какой нибудь Method_Super_Generator(ParamList)? Так может стоит на этом остановиться? Никто же не мешает добавить в конце метода ExecScript(то_что_я_нагенерировал) |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
У..ище и жертва.
Исправлено 3 раз(а). Последнее : AdamAry, 27.04.17 07:14 |
Re: Как добавить метод к пользовательскому объекту | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Главное не "где"! Главное, что "могли бы". ;) Вот нафига например смартфоны нужны? В принципе. Ведь есть телефон. Есть компьютер. Так нет же, сделали. И теперь всем оно вдруг надо. Или нафига сделали винду? В досе ведь и так все отлично работало. Так нет же...[и т.д.] Так что, уверяю тебя! Если бы вот это дело с методом было бы вдруг сделано, ты бы, думаю точно так же как и почти все тут, возможно нашел бы и куда, и зачем это можно применить. Причем, ни у кого бы(!) даже и самого вопроса не возникло бы: "А зачем, все это собственно сделано-то?" Таковы уж свойства всего, фактически свершившегося. А так, заметил - почему-то всегда при этом вопросе обязательно начинают (а это ведь далеко не первая тема!) яростно доказывать, что оно дескать "и в принципе вредно". Да нисколько не вредно. Пару раз сталкивался и убеждался в итоге, что наоборот, действительно, в чем-то не помешало бы. Код намного упростило бы. Ну не каждый день такое надо конечно. Но, если бы вдруг оно было - ну уж хуже-то от этого точно никому не стало бы. Ну понятно, раз уж создатели чего-то не сделали - всегда в таких случаях делаются какие-то обходные маневры. Причем элементарно - от нужды. Не более. Уверять же при этом, что подобное отсутствие самой возможности - нечто невероятно полезное - на мой взгляд все же неверно. Не полезное оно - для программиста. Полезное только для самих создателей - меньше поработали при создании. Ну что теперь поделаешь. Доцента на них нет - доцент бы заставил. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
© 2000-2024 Fox Club  |