|
|
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
Конкретно по факту вопроса (звиняюсь, время пока нет:( IgorMОтветьте, пожалуйста, я Вам это сделал? Игорь, покажите, если можно, где в вашем листинге видно, что классы наследованы друг от друга? Где Implements, Property Let/Get? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 22:11 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
йцук Только проекты имеют наглость разростаться и становиться ой какими большими. И работать с ними норовят не 1-2, а 3-4 и более программистов. А пересесть "в процессе" на другое средство разработки зачастую просто невозможно :( Имхо аксес вполне подходит для максимально быстрого стартапа. За месяц первоначальной работы и еще месяц попутных переделок создать систему, которая удовлетворит пользователей на год-два, самому в течении этого года-двух начать (и, если повезет, то и закончить) "правильную" разработку того же самого на каком-нибудь дотнете (к примеру) Намедни перегнал mdb в adp. Предварительно спросил у дельфистов, сколько нужно для переписывания клиента с таким функционалом, ответили - минимум 3 месяца, вероятнее всего, больше. Их у меня не было, поэтому за неделю переделал код, обеспечивая работоспособность. А теперь есть возможность не спеша переложить остатки логики клиента на сервер, посмотреть на то, как работает, и принять решение, что делать дальше. В этом случае в стандартной ситуации - вам шашечки или ехать :), я предпочел ехать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 01:43 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
Не показательно. На Delphi тоже можно писать или правильно или быстро ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 08:23 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
Лысый ежик Намедни перегнал mdb в adp. Предварительно спросил у дельфистов, сколько нужно для переписывания клиента с таким функционалом, ответили - минимум 3 месяца, вероятнее всего, больше. Их у меня не было, поэтому за неделю переделал код, обеспечивая работоспособность. А теперь есть возможность не спеша переложить остатки логики клиента на сервер, посмотреть на то, как работает, и принять решение, что делать дальше. В этом случае в стандартной ситуации - вам шашечки или ехать :), я предпочел ехать. Только ты забыл одну простую вещь. Дельфистам нет необходимости в переписывании. Оно уже должно быть на сервере и правильно работать. Переход с однонго сервера на другой, конечно приведет к переделкам. Но в основном серверной части. Поэтому ни к Delphi, ни к какому другому инструменту это не относиттся. Вот такие шашечки! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 08:33 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
Кстати как раз сейчас периодически приходится заниматься в старых проектах переброской логики на сервер. Код усыхает раз в 5-7 В любом случае это быстрее чем переписывать из одного клиента в другой aka из пустого в порожнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 08:53 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
Guest_333Игорь, покажите, если можно, где в вашем листинге видно, что классы наследованы друг от друга? Где Implements, Property Let/Get? А для чего? Вы выставили некоторые условия, написали код и объявили, что средствами Access нельзя добиться аналогичной функциональности. Разве не так? Объясню еще раз, последний, объявление в дочернем классе объекта-предка и написание свойств, которые обеспечат доступ к свойствам базовых классов, является едиственно возможным способом наследования в VBA, плохим или хорошим это другой вопрос. Но для программы, использующей данный класс, разницы между разными типами наследования практически не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 10:08 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
Кажется, реплика, задела дельфистов. Ничего против делфи или других не имею :) Писал бы с нуля или переделывал не с акцесса - наверное, не трогал бы его. Но мы живем в реальном мире и реинжиниринг становится очень частой задачей. В данном случае, акцесс помог мне выиграть очень нужное мне время. Банальная истина - нужный инструмент выбирается исходя из задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 10:08 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
IgorM Guest_333Игорь, покажите, если можно, где в вашем листинге видно, что классы наследованы друг от друга? Где Implements, Property Let/Get? А для чего? Вы выставили некоторые условия, написали код и объявили, что средствами Access нельзя добиться аналогичной функциональности. Разве не так? Я объясню. На самом деле целью задумки было не только установление факта "а можно ли это в принципе", но и демонстрация того, что вообще реализация "наследования" в VB является страшно жутким геморроем, о чем я и говорил в своем первом посте. Вы привели в VB-листинге только критические участки кода, я же 100%-но рабочий код VFP. Если под рукой есть VFP - можете проверить. Для того, чтобы ваш пример стал рабочим нужно накатать еще тучу строк... руками... Вот и сравнивайте простоту реализации. Очень, кстати, забавно, что в поиске по местному форуму VB по запросу Implements выдается всего 4 темы. Так часто пользуемся прекрасным VB-наследованием, видимо? Не от того ли, что это так "удобно" и дает тучу возможностей? IgorMОбъясню еще раз, последний, объявление в дочернем классе объекта-предка и написание свойств, которые обеспечат доступ к свойствам базовых классов, является едиственно возможным способом наследования в VBA, плохим или хорошим это другой вопрос. Не надо так реагировать. Последний-не последний... Вы доказываете с йцук-ом, что в VB замечательное наследование, я же - что оно фуфловое и беспомощное. Мы по разные стороны баррикад - что уж тут поделать. А завтра, в другом топике, может мы будем вместе отбиваться от Дельфистов, к примеру. Заметьте, термины типа "объектно-ориентированная п...обратия" тут употребляла совсем другая личность. Итого, на тукущий момент, мы имеем: 1. В VB/VBA нельзя создать класс формы и уже из него создавать новые экземпляры форм 2. В VB/VBA нельзя визуально наследовать базовые контролы (что прекрасно продемонстрировал пример c классом ресайза и Tag) 3. Как следствие, нельзя визуально на форму из библиотеки классов класть субклассированные контролы 4. Организация наследования и интерфейса и _эмуляция_ наследования реализации страшно геморройны. Чем больше иерархия классов, чем больше свойств и методов проходит через наследовние, тем больших трудов стоит это наследование организовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 11:16 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
Господа, меня поражает то что вы хотите от Access. Ну не создан он для того что бы лепить супер крутые вещи, но для средней конторы (userов этак 50), это самое то. Как по сорости разработки так и по скорости изменения структуры и логики программы. И не надо говорить что сначала надо разработать всю логику а потом лепить программу, это руководству скажите :) У меня Sqlserver 2000 и клиенты на Access, забросил мой любимый Builder C++, так как скорость разработки несопоставима :) Надо видеть место продукта в мире. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 11:34 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
Guest_333На самом деле целью задумки было не только установление факта "а можно ли это в принципе", но и демонстрация того, что вообще реализация "наследования" в VB является страшно жутким геморроем, о чем я и говорил в своем первом посте. Если Вы заметили, я вступил в дискуссию только тогда, когда Вы написали, что VBA не сможет сделать то, что сумеет VFP и привели код. "Геморрой" реализации я принципиально не обсуждал и обсуждать не хочу. Поэтому-то я и говорю, что примеры "ущербности" наследования VBA нужно выбирать тщательнее. Только и всего. Guest_333Для того, чтобы ваш пример стал рабочим нужно накатать еще тучу строк... руками... Пример полностью рабочий и отвечает поставленным условиям. Guest_333Вот и сравнивайте простоту реализации. А я разве где-то писал про простоту реализации? Guest_333Не надо так реагировать. Последний-не последний... Знаете, просто по третьему разу объяснять одно и тоже я думаю неразумно. Guest_333Вы доказываете с йцук-ом, что в VB замечательное наследование, я же - что оно фуфловое и беспомощное. Цитату, в которой я доказывал "замечательность" реализации наследования VBA можете дать? И то, что оно "фуфловое и беспомощное" по-моему Вы доказываете неубедительно. Читали врезку из MSDN? Вот MS говорит, что "interface inheritance" очень даже ничего. Guest_333Мы по разные стороны баррикад - что уж тут поделать. А завтра, в другом топике, может мы будем вместе отбиваться от Дельфистов, к примеру. То что мы по разные, это Вы сами для себя почему-то решили. Я работал и работаю не только с Access, но и с С++, по этому про "правильное" наследование знаю не понаслышке. Ну, и напоследок все же выскажу мнение по каждому пункту обвинения. 1. В VB/VBA нельзя создать класс формы и уже из него создавать новые экземпляры форм Опять расплывчато. Пример просить не буду, только отмечу, если я Вас првильно понял, то визуально действительно - нельзя, в коде - можно. 2. В VB/VBA нельзя визуально наследовать базовые контролы (что прекрасно продемонстрировал пример c классом ресайза и Tag). 3. Как следствие, нельзя визуально на форму из библиотеки классов класть субклассированные контролы Совершенно справедливо. Но в большой степени это ограничение среды. 4. Организация наследования и интерфейса и _эмуляция_ наследования реализации страшно геморройны. Чем больше иерархия классов, чем больше свойств и методов проходит через наследовние, тем больших трудов стоит это наследование организовать Спорить не буду, кода придется написать побольше и делать это надо по-аккуратнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 12:13 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
IgorMПоэтому-то я и говорю, что примеры "ущербности" наследования VBA нужно выбирать тщательнее .... И то, что оно "фуфловое и беспомощное" по-моему Вы доказываете неубедительно. ..... Я не знаю, что же еще мне нужно раскопать про VB-наследование для убедительности, после всего этого: Guest_333Итого, на тукущий момент, мы имеем: 1. В VB/VBA нельзя создать класс формы и уже из него создавать новые экземпляры форм 2. В VB/VBA нельзя визуально наследовать базовые контролы (что прекрасно продемонстрировал пример c классом ресайза и Tag) 3. Как следствие, нельзя визуально на форму из библиотеки классов класть субклассированные контролы 4. Организация наследования и интерфейса и _эмуляция_ наследования реализации страшно геморройны. Чем больше иерархия классов, чем больше свойств и методов проходит через наследовние, тем больших трудов стоит это наследование организовать Guest_333 IgorM OK. Метод MyMethod класса Class3 Код: plaintext 1. * Могу ли я написать (в Вашем варианте кода, в последней строке самого вызова): Код: plaintext * Если я объявлю в Class1 новую переменную Property0 - появится ли она автоматом в Class3? (без_моего_вмешательства_руками в описание классов Class2 и Class3). Нет? Тогда какое же это наследование? * Если я создам в Class1 новый метод MyMethod0 - появится ли он автоматом Class3? Нет? Тогда какое же это наследование? Для достижения всего этого извраты в описании интерфейсов руками делать надо? Тогда какое же это наследование? IgorM Код: plaintext 1. (смею предполагать, что в VFP это возможно). Да, это возможно. И, само собой, не только "This" (что является прямым аналогом "Me" в VB), но и извне кода класса: Код: plaintext 1. 2. 3. IgorM А сам tag был выбран для того, что бы эти свойства прописывать визуально в конструкторе, т.к. наследника контрола на форму не положить, а ручками в коде устанавливать свойства не хочется. Для того, кто активно пользуется нормальной для ООП реализацией наследования в C++, Delphi, C#, VB.Net, VFP - уже все давно убедительно. Еще более убедительно было бы, если бы Вы предоставили полный код примера на VB, чтобы всем были видны извраты, нужные для наследования интерфейса в VB. Лично же для меня пункта №1 уже достаточно, чтобы считать невозможным для себя переход на VB по доброй воле. Кто-то использует субклассирование широко, кото-то нет. Я не представляю себе работу без нормальной реализации этой фичи. Я встречал Дельфистов, которые кроме как перетаскиванием компонент с галереи больше ничем не пользовались - и чувствовали себя счастливыми, а "ООП в Паскале" знали только как словосочетание. Ну и замечательно, пусть колбасят дальше IgorMЧитали врезку из MSDN? Вот MS говорит, что "interface inheritance" очень даже ничего. Мне абсолютно все равно как, что, и чем называет MS, если я это нахожу для себя неприменимым в работе. Пусть хоть "interface inheritance" оно называется, хоть "super mega new technology". Курица, от того, что ее называют птицей, летать не будет все равно IgorM 1. В VB/VBA нельзя создать класс формы и уже из него создавать новые экземпляры форм Опять расплывчато. Пример просить не буду, только отмечу, если я Вас првильно понял, то визуально действительно - нельзя, в коде - можно. Вот, что именно я имел в виду: Save As Class Dialog Box (Microsoft Visual FoxPro) MSDNLets you save a form, or selected controls on a form, as a class definition. Create a class if you intend to create subclasses based on the form or reuse the controls for other forms. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_foxhelp/html/lngcreate_form.asp]CREATE FORM [FormName | ?] [AS cClassName FROM cClassLibraryName | ?] MSDNCreates a new form from a form class in a .vcx visual class library. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 13:14 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
Ладно, про это я и говорил - всё пошло по новому кругу. Я не агитировал использовать Access и не позиционировал его как лучшее средство разработки, если Вы еще этого не заметили. И ни разу не написал, что наследование в Access образец для подражания. Я выступаю только за отсутствие безосновательных заявлений и за знание предметов сравнения. Если бы Вы написали, не "лучше сделай" и "покажи как тебе это удалось", в чем для меня заметно желание посадить собеседника в лужу, а продолжили бы в духе того, что это лажа и никто этим не пользуется, то я бы и не стал Вам ничего объяснять. Дальнейшее обсуждение этого вопроса для меня ничего нового не откроет, поэтому думаю тему наследования можно закрыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 13:47 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
Облегчает жизнь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2004, 20:04 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
Я бы не сказал, что в Access все так просот и элементарно. Я на нем профессионально писал (да и сейчас иногда приходится ипользовать). Простенькие БД делать элементарно, но это не значит, что нельзя на Access делать профессиональные мощные приложения (особенно если подвязать SQL Server) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2004, 15:02 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
говорят в акцессе легко работать со связями многие-ко-многим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2007, 20:44 |
|
||
|
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
|
|||
|---|---|---|---|
|
#18+
Не забудем ещё поставить плюс Аксессу в случае, когда нужно крутануть запрос по таблицам, лежащим на разных серверах -- Jet в этом случае вообще незаменим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 18:19 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32591312&tid=1553351]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 126ms |

| 0 / 0 |
