|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
Псевдоним ЛДПР намекнул недавно, что знает, но не сказал, как. А ведь очень желательно. И чтоб вызывать эти методы набором имени переменной объекта и через точку - именем метода: Obj.Method(). Т.е., традиционно, без извращений. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2013, 08:58 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
Rostislav D. Kudryashov, Ребята никто не спрашивал как? :)) почти все файлы в VFP это таблицы только с разными расширениями в том числе и библиотеки (vcx) (вся информация об этом доступна в хелпе) в приведенном мной примере я создал обычный объект custom с именем pattern отредактировал его как хотел в плане методов после открыл библиотеку как таблицу Код: c# 1. 2.
нашел класс objname = pattern, platform=windows изменил поля class, baseclass c custom на empty обнулил поле properties ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2013, 15:51 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ЛДПР, спасибо. Буду пробовать. Может и пригодится. Но вообще, здорово! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2013, 16:09 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ЛДПРRostislav D. Kudryashov, в приведенном мной примере я создал обычный объект custom с именем pattern отредактировал его как хотел в плане методов после открыл библиотеку как таблицу Код: c# 1. 2.
нашел класс objname = pattern, platform=windows изменил поля class, baseclass c custom на empty обнулил поле properties За что ты так надругался на дедушкой Фоксой ? ))) Обманщик ! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 18:02 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ЛДПРизменил поля class, baseclass c custom на empty обнулил поле properties И чего выиграл по сравнению с custom ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 21:13 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
Dima T Из хелпа Особенность класса заключается как в его быстрой инициализации, так и в его быстром удалении, что связано с его структурой. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 21:46 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
Dima T, класс Empty имеет состав свойств и методов, полностью определяемый пользователем. Безо всяких предопределений. И одному вопрошателю форума как раз приспичило иметь такой класс для управления жизнью записи таблицы, чтоб в нём были поля по всем полям записи таблицы. И на его беду в его таблице было поле Name, а поле Name в объекте Custom никак не соглашается принимать пустые значения. Эта у него была идея-фикс, вместо того чтоб просто встроить поле-объект Empty в объект Custom - по принципу агрегирования. Но раз такая охота пуще неволи - получи желаемое. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 21:57 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
Rostislav D. KudryashovИ одному вопрошателю форума как раз приспичило иметь такой класс для управления жизнью записи таблицы, чтоб в нём были поля по всем полям записи таблицы. И на его беду в его таблице было поле Name, а поле Name в объекте Custom никак не соглашается принимать пустые значения. А вопрашатель не подумал что у него могут быть поля с именами методов класса ? После 25 лет на фоксе - я, хоть и знал что ковырять vcx файлы можно, но в силу ударивших меня граблей, связанных с опытом "экстремального" кодинга, уже бы точно такой изврат использовать, в коммерческой разработке, не стал. Хотя вопрашатель, до этого еще, видимо, не допетрил ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 22:12 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
pivaно в силу ударивших меня граблей, связанных с опытом "экстремального" кодинга, уже бы точно такой изврат использовать, в коммерческой разработке, не стал Не знаю что там у вас за грабли но я использую с 2009 года в "коммерческой разработке" и ничего живой Я представляю что вы скажете на screen во вложении. Dima TИ чего выиграл по сравнению с custom ? Я ничего, а что должен был ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 00:46 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ЛДПРDima TИ чего выиграл по сравнению с custom ? Я ничего, а что должен был ? Тогда непонятно зачем лишние телодвижения с ручным ковырянием VCX`ов ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 08:28 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
Dima T Тогда непонятно зачем ... Если интересует практическая часть применения то pattern это реальный класс на основе Empty плотно используемый мной при разработке, в предыдущем моем посте на скрине виден cursoradapter c кучей вложенных коллекций так вот почти все они содержат в себе объекты на основе pattern Я его использую там где custom много а Empty мало просто надоело постоянно писать код типа Код: c# 1.
и все возможные его интерпретации, а также перебирать не именованную коллекцию для поиска и удаления одного из ее "empty" объектов изначально имея ссылку на этот самый "empty" объект. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 09:56 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ЛДПР Можно подробнее про эти ваши классы, что на картинке. piva Видать, сильно тогда вас ударило ... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 10:04 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
sg12Можно подробнее про эти ваши классы, что на картинке. Что именно интересует порядок создания того го рода класса или его предназначение ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 13:18 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ЛДПРsg12Можно подробнее про эти ваши классы, что на картинке. Что именно интересует порядок создания того го рода класса или его предназначение Непонятно с Коллекциями, сама идея взаимодействия - раз они вложены, значит должны существовать их родители. И этот объект Query комплектуется один на весь проект, или каждый раз индивидуально? У вас ведь AddProperty программно. Т.е. ваш CursorAdapter довольно универсально насыщен, и в нем вся суть, а pattern только примамбасы. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 14:52 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
На скрине я показал что в объекты которые оприоре не могут содержать дочерних объектов типа cursoradapter можно всунуть как не визуальные так и визуальные классы и спокойно редактировать их методы и свойства в стандартном редакторе свойств VFP sg12 сама идея взаимодействия - раз они вложены, значит должны существовать их родители В том и прикол что у всех показанных объектов конечный родитель это cursoradapter и к нему можно обратится из любого вложенного в него объекта через вызов соответствующего количества раз свойства parent т.е. стандартным способом Если говорить о конкретном примере то весь это огород позволяет иметь динамически настраиваемый cursoradapter sg12 Query комплектуется один на весь проект Query это SQL parser вложенный как дочерний объект cursoradapter(а) который разбирает строку запроса SelectCmd на коллекции Fields,From,Where,Tables ... , а вот уже в коллекциях содержатся объекты (Pattern) как пример: Tables содержит Pattern(ы) Table которые создаются Createobject("Pattern","Name;TableSource;TableSourceType;Buffering;Tag") Изменяя свойства объектов в соответствующих коллекциях я могу быстро изменить весь запрос не говоря уже о изменении условия выборки или упорядочивания ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 15:45 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ЛДПР Немного прояснилось, интересные у вас решения. Хотя со строкой разбора без кодов довольно туманно. Непонятно, где вы устанавливаете параметры-свойства. Насколько можно вас понять, для этого вы открываете редактирование с переименованием классов. Может удобнее вынести установку свойств объектов в отдельный Custom, где и устанавливать собственно все параметры. Тогда необходимость в изменении объектов отпадет. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 09:32 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
авторнашел класс objname = pattern, platform=windows изменил поля class, baseclass c custom на empty обнулил поле properties не удалось повторить фокус ...: "Object class is invalid for this container" при попытке открыть его в class designer ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 11:06 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
sg12Насколько можно вас понять, для этого вы открываете редактирование с переименованием классов. NSFuimus1 не удалось повторить фокус ...: "Object class is invalid for this container" при попытке открыть его в class designer Редактировать такие классы как Empty,Header через стандартный Fox(вый) редактор не получится так как и до "танцев с бубном" над ними этого сделать нельзя было, если очень хочется то надо провести обратные действия с переименованием. Что же косается остальных то это вполне реально. Я так понимаю это просто "ход конем" который не закрыли разработчики Fox(а) и что меня радует больше всего что уже навряд ли когда закроют Суть данного хода заключается в том что созданный класс условно назовем его "не такой как все" изначально отредактировать нельзя, а вот его наследника можно но надо помнить о том что наследника нужна изначально создать до того как класс станет "не такой как все" sg12Может удобнее вынести установку свойств объектов в отдельный Custom, где и устанавливать собственно все параметры.Тогда необходимость в изменении объектов отпадет. Если вы про танцы с бубном над классами то из вышесказанного ясно что это делается один раз при разработке объектной структуры класса который как мы помним "не такой как все" ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 13:49 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
авторСуть данного хода заключается в том что созданный класс условно назовем его "не такой как все" изначально отредактировать нельзя, а вот его наследника можно но надо помнить о том что наследника нужна изначально создать до того как класс станет "не такой как все" шалость удалась (с) ... но в дизайнере такой потомок всЁ равно изображает все методы и свойства от custom + свойство baseclass кажет тот же custom ... как бы это почистить? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 14:05 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
NSFuimus1, baseclass у наследника не изменил в приложении пример ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 14:24 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
изменил, разумеется ... custom на _pattern в поле BaseClass потомка ... вложение смогу посмотреть наверное тока дома ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 14:49 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
NSFuimus1изменил Вам оттуда виднее в примере редактируется класс "_de" но если перед ним попытаться отредактировать родителя "__de" то после ошибки надо выполнить clear all [classlib] так как Fox корректно не закрывает класс родителя ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 15:02 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
не вижу какой класс вы объявили наследником от pattern?! - поле baseclass нигде не содержит "pattern" ... чего я не понял (делаю не так)? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 15:16 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
NSFuimus1, pattern это пример класса на основе Empty авторРедактировать такие классы как Empty,Header через стандартный Fox(вый) редактор не получится так как и до "танцев с бубном" над ними этого сделать нельзя было, если очень хочется то надо провести обратные действия с переименованием. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 15:35 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
это я понял + пошОл дальше: для имеющихся классов в библиотеке созданных заранее как "custom" указал в качестве родительского класса "_pattern" в поле BaseClass ... закрыв библиотеку (dbf) открыл проект где она используется, увидел _pattern в библитеке, открыл его потомков и наблюдаю все наследство от "custom" ... вопрос был про то что можно ли избавиться от этого наследства ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 15:45 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
NSFuimus1 + пошОл дальше: это прелестно Вы в моем примере видели у класса "_de" "наследство" от container давайте простенький пример того что вы делаете так будет проще ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 16:14 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
согласен - это прелестно (с) добиться от вас внятного ответа весьма сложно ... скажите хотя бы что такое вот "наследование" как я описал типа "нетипично" (неправильно?) и я буду копаться дальше со своей библиотекой и вашей ... примеров никаких не будет ... скажу лишь что проект - фоксовый ком-сервер и я пытаюсь понять сможет ли описанный вами подход "облегчить" его ибо custom мне в нем совершенно излишний ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 18:27 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
NSFuimus1добиться от вас внятного ответа весьма сложно ... NSFuimus1как я описал типа "нетипично" это уже напоминает разговор слепого с немым Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью NSFuimus1примеров никаких не будет а жаль Если есть желание можете описать что вы хотите получить в конечном итоге потому что из ходя из моей практики в унаследованный от empty класс можно всунуть свойства, методы,события и даже объекты но все это никак не влияет на возможность у полученного класса редактироваться class dessinger ее (возможности) как не было так и не будет ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 19:40 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
чорт ... ещё раз ... 1. я понял про редактирование в class designer "базового" класса от empty 2. я понял как создавать от него потомков: мы должны предварительно создать классы от доступных базовых - я создал от custom - и затем отредактировать библиотеку как таблицу, изменив у нужных классов поле baseclass, подставив в него имя нашего класса, унаследованного от empty - в моём случае я поменял "custom" на "pattern" ... И вот теперь открываю в class designer этих потомков от pattern и ожидаю увидеть в панели property пустые закладки событий, свойств и методов - ведь мы унаследовались в итоге от empty! - но вижу ровно то что видел когда этот класс был ещё унаследован от custom и даже в свойстве baseclass по-прежнему написано custom ... и теперь я снова задаю этот вопрос (в 3 раз?) это нормально? так и должно быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 20:38 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
NSFumus1я понял ... поверь мне не понял Твои потомки открываются в class desinger только по той причине что у него (потомка) не изменен baseclass (о чем я тебе уже говорил) поэтому они открываются в class desinger и потягивают свойства и методы объекта указанного в baseclass если бы ты все танцы с бубном провел правильно то ни один из классов унаследованных от empty любой вложенности не открылись бы class desinger ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 22:54 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
мозги ... это чьи слова: авторСуть данного хода заключается в том что созданный класс условно назовем его "не такой как все" изначально отредактировать нельзя, а вот его наследника можно но надо помнить о том что наследника нужна изначально создать до того как класс станет "не такой как все"? дык можно в class designer открыть потомка от pattern который является потомком от empty? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 07:01 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
а! вроде дошло ... т.е. собственно и потомка надо создавать от pattern который еще не empty до того он станет empty ... да, делал не так ... извини торможу ... попробую отпишусь ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 07:11 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ну чтож ... вроде всЁ сделал правильно, убедился что и потомка от pattern-а невозможно открыть class designer и это сильно разочаровывает, т.к. единственный способ отладки ком-сервера у меня это логирование и соответственно бесконечная расстановка/удаление команд на логирование в подозрительных местах и делать это как-то вне class designer ... ну его нафиг ... осталось прояснить всЁ-таки фразу авторсозданный класс ... изначально отредактировать нельзя, а вот его наследника можно ... т.е. речь идет не о class designer? а о чЁм? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 09:14 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
NSFuimus1, Здуреть можно это не я смутно "выражовываюсь" а вы избирательно читаете ЛДПР Редактировать такие классы как Empty,Header (специально для тебя) и их потомков через стандартный Fox(вый) редактор не получится так как и до "танцев с бубном" над ними этого сделать нельзя было, если очень хочется то надо провести обратные действия с переименованием. Что же косается остальных то это вполне реально NSFuimus1и это сильно разочаровывает Мне так жаль, это моя вина ... Написание процедуры которая их открывает и корректно закрывает у меня заняло 1.3 минуты ... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 09:50 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
да нет, просто "слышал то, что хотелось услышать" ... твой сарказм неуместен ИМХО ... вообщем спасибо за идею, я думаю попробую к ней вернуться попозжа и посмотреть что получится с реальными классами в ком сервере ... сенкс еще раз ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 10:23 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ЛДПР Вы выше привели пример создания Pattern: Createobject("Pattern","Name;TableSource;TableSourceType;Buffering;Tag") Но, к примеру, если изменить эту строку вызова так: oCustom.DoCreate("Name;TableSource;TableSourceType;Buffering;Tag") а в класс oCustom в метод DoCreate() перенести из Init: Lparameters tcProperties LOCAL loEmpty loEmpty = CreateObject("Empty") If Vartype(m.tcProperties)="C" Local laProperties[1],lcLine If Alines(m.laProperties,m.tcProperties,5,";")>0 For Each m.lcLine In m.laProperties AddProperty(loEmpty,Alltrim(Getwordnum(m.lcLine,1,"="),1,Chr(9),Chr(32))) If Occurs("=",m.lcLine)>0 This.&lcLine Endif Endfor Endif Endif то Pattern превратится в простое Empty и в этих преобразованиях классов отпадет необходимость. И эти Empty можно добавлять не к коллекциям, а непосредственно к этому oCustom, т.е. он заменит все коллекции. Или, вообще, все это перенести в CursorAdapter, у него тоже есть метод AddProperty. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 10:57 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
sg12 Я надеюсь все мы прекрасно понимаем что каждый выбирает способ реализации той или иной задачи для себя сам и это дело сугубо личное В итоге (если оба или более подходов работают) можно сравнить только достоинства и недостатки их (подходов) Если есть желания это обсудить то уступаю вам право по загибать пальцы первым ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 12:46 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ЛДПР Пожалуйста. В CursorAdapter это будет выглядеть так: Вызов метода: oCursorAdapter.DoCreate(lcEmptyName,"Name;TableSource;TableSourceType;Buffering;Tag") * lcEmptyName - имя вида 'oEmptyTable1','oEmptyTable2' Метод DoCreate() в CursorAdapter: Lparameters tcEmptyName,tcProperties oCursorAdapter.AddProperty(tcEmptyName,CREATEOBJECT('Empty')) * Далее ваш код If Vartype(m.tcProperties)="C" Local laProperties[1],lcLine If Alines(m.laProperties,m.tcProperties,5,";")>0 For Each m.lcLine In m.laProperties AddProperty(oCursorAapter.&tcEmptyName,Alltrim(Getwordnum(m.lcLine,1,"="),1,Chr(9),Chr(32))) If Occurs("=",m.lcLine)>0 This.&lcLine Endif Endfor Endif Endif Из ваших классов останется только CursorAdapter (Receiver мы не касались), все остальные ваши кодовые решения остаются в силе. Изменения в строках обращения к объектам Empty несложные. Если нужно обобщить для всех коллекций, кроме Table, то это через DO CASE c еще одним параметром tcCase (что в свое время вызвало нервный тик у некоторых ГУРУ) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 13:23 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ЛДПР Продолжим загибать пальцы. Ведь даже в этих объектах Empty нет необходимости. Параметры для запроса вы где-то создаете. Потом эти параметры перекачиваете в свойста объектов. Затем оттуда извлекаете для формирования строки запроса. Но ведь эти параметры можно брать одноразово непосредственно оттуда, где вы их формируете, одним шагом-вызовом - зачем нужны лишние перекачивания. Т.е. эти параметры должны формироваться в определенном методе (можно назвать их метаданными), о чем я и упоминал ранее. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 15:24 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
sg12, Я ставил перед собой задачу иметь возможность редактировать объектную модель запроса изначально заданную строкой в cursoradapter.selectcmd при этом с максимальным комфортом в class desinger пример кода редактирования объектной модели запроса (вырезан из одного из вложенных объектов в cursoradapter)m.loTable = This.Parent.Query.Tables.New() Store LOWER(This.Alias) To m.loTable.Name,m.loTable.TableSource This.Parent.Query.Tables.Add(m.loTable,m.loTable.Name) m.loLastJoins = This.Parent.Query.From(This.Parent.Query.From.Count).Joins m.loJoin = m.loLastJoins.New() m.loJoin.Enabled = .T. m.loJoin.Table = m.loTable m.loJoin.Type = "inner" m.loJoin.Level = 1 m.loCondition = m.loJoin.Conditions.New() m.loCondition.Enabled = .T. m.loCondition.Field = This.Alias+".uniqueid" m.loCondition.ValueSource = This.Parent.Query.Fields("uniqueid").Table.Name+"."+This.Parent.Query.Fields("uniqueid").FieldSource m.loCondition.Criteria = "==" m.loJoin.Conditions.Add(m.loCondition) m.loLastJoins.Add(m.loJoin) То есть мне абсолютно не важно какой запрос записан в selectcmd я корректно могу его видоизменить и он останется рабочим На счет тех конструкции которые вы предлагаете объект.свойство_объект они меня мало впечатляют так как от подобной практики я отказался давно и надолго в силу печальных способностей Fox(а) не подчищать их при не явном удалении и связанного с этим танцев с бубном поэтому все разговоры про уход от emty in collection мне кажутся недостаточно аргументированными на счет Параметров то они также получаются(создаются) из строки запроса (при ее разборе), а место присвоения значений обуславливается логикой задачи ... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 17:15 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ЛДПР Если честно, то я не вижу комфорта, даже со скидкой на туманные разъяснения. Проблемы с подчищением можно решить создаванием каждый раз заново одного глобального объекта с его последующим уничтожением. При ручном удалении не лениться PACK. Что касается примера кода, то чем редактировать довольно большое количество свойств, проще вместо них формировать в том же коде несколько локальных переменных, с последующим отправлением их в строку запроса. Или загонять их также в один глобальный объект Empty. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 18:06 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
sg12Проблемы с подчищением можно решить создаванием каждый раз заново одного глобального объекта с его последующим уничтожением. При ручном удалении не лениться PACK. Вы абсолютно не имеете представления о чем говорите sg12Что касается примера кода, то чем редактировать довольно большое количество свойств, проще вместо них формировать в том же коде несколько локальных переменных, с последующим отправлением их в строку запроса. Или загонять их также в один глобальный объект Empty опять разговор слепого с глухим ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 18:23 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
В свое время, я плотно пытался автоматизировать SELECT ... (впрочем, как и многие), и был также разочарован, что это оказалось напрасной тратой времени. Все эти разработки радуют только самих разработчиков. Вот упрощенно схема: Где-то как-то задаем параметры: lcTables = 'tables' lcFields = 'fields' ... Что-то куда-то перегоняется, что-то во что-то преобразуется. ... Собираем параметры: lcSelect = 'Select ' + lcFields + ' FROM ' + lcTables ... Собственно выполняем запрос, из-за чего весь сыр-бор: &lcSelect И в чем преимущество перед обычным: SELECT fields FROM tables ... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 19:16 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
sg12, Такое ощущение что я тебя уговариваю делать так же Позвольте мне процитировать вам мой пост написанный ранее ЛДПРЯ надеюсь все мы прекрасно понимаем что каждый выбирает способ реализации той или иной задачи для себя сам и это дело сугубо личное ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 19:57 |
|
Как воткнуть методы в объект класса Empty?
|
|||
---|---|---|---|
#18+
ЛДПР Картинка у вас красивая, вот и заинтересовало. Ценность вашей разработки не в классах, глупости это, трата времени - в локальных переменных проще. Другое - строку разбора вы себе написали хорошую, детальную. И комфортно вам не от этих ваших классов, а то, что вы типизировали Select-ы. Типизация позволяет комфортно работать с запросами. Не думаю, что и с обычным синтаксисом Select у вас проблемы. А большинство, и не только здесь, бросаются на Select-ы, как на амбразуру, хотя в основном практические запросы это типовые решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 20:48 |
|
|
start [/forum/topic.php?all=1&fid=41&tid=1582894]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 283ms |
0 / 0 |