powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
17 сообщений из 217, страница 9 из 9
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32590297
Guest_333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конкретно по факту вопроса (звиняюсь, время пока нет:(

IgorMОтветьте, пожалуйста, я Вам это сделал?
Игорь, покажите, если можно, где в вашем листинге видно, что классы наследованы друг от друга? Где Implements, Property Let/Get?
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32590363
Лысый ежик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
йцук Только проекты имеют наглость разростаться и становиться ой какими большими. И работать с ними норовят не 1-2, а 3-4 и более программистов. А пересесть "в процессе" на другое средство разработки зачастую просто невозможно :(
Имхо аксес вполне подходит для максимально быстрого стартапа. За месяц первоначальной работы и еще месяц попутных переделок создать систему, которая удовлетворит пользователей на год-два, самому в течении этого года-двух начать (и, если повезет, то и закончить) "правильную" разработку того же самого на каком-нибудь дотнете (к примеру)

Намедни перегнал mdb в adp. Предварительно спросил у дельфистов, сколько нужно для переписывания клиента с таким функционалом, ответили - минимум 3 месяца, вероятнее всего, больше. Их у меня не было, поэтому за неделю переделал код, обеспечивая работоспособность. А теперь есть возможность не спеша переложить остатки логики клиента на сервер, посмотреть на то, как работает, и принять решение, что делать дальше.
В этом случае в стандартной ситуации - вам шашечки или ехать :), я предпочел ехать.
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32590480
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не показательно. На Delphi тоже можно писать или правильно или быстро
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32590490
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лысый ежик
Намедни перегнал mdb в adp. Предварительно спросил у дельфистов, сколько нужно для переписывания клиента с таким функционалом, ответили - минимум 3 месяца, вероятнее всего, больше. Их у меня не было, поэтому за неделю переделал код, обеспечивая работоспособность. А теперь есть возможность не спеша переложить остатки логики клиента на сервер, посмотреть на то, как работает, и принять решение, что делать дальше.
В этом случае в стандартной ситуации - вам шашечки или ехать :), я предпочел ехать.
Только ты забыл одну простую вещь. Дельфистам нет необходимости в переписывании. Оно уже должно быть на сервере и правильно работать. Переход с однонго сервера на другой, конечно приведет к переделкам. Но в основном серверной части. Поэтому ни к Delphi, ни к какому другому инструменту это не относиттся. Вот такие шашечки!
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32590511
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати как раз сейчас периодически приходится заниматься в старых проектах переброской логики на сервер. Код усыхает раз в 5-7 В любом случае это быстрее чем переписывать из одного клиента в другой aka из пустого в порожнее
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32590627
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest_333Игорь, покажите, если можно, где в вашем листинге видно, что классы наследованы друг от друга? Где Implements, Property Let/Get?
А для чего? Вы выставили некоторые условия, написали код и объявили, что средствами Access нельзя добиться аналогичной функциональности. Разве не так?

Объясню еще раз, последний, объявление в дочернем классе объекта-предка и написание свойств, которые обеспечат доступ к свойствам базовых классов, является едиственно возможным способом наследования в VBA, плохим или хорошим это другой вопрос. Но для программы, использующей данный класс, разницы между разными типами наследования практически не будет.
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32590628
Лысый ежик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кажется, реплика, задела дельфистов. Ничего против делфи или других не имею :)
Писал бы с нуля или переделывал не с акцесса - наверное, не трогал бы его. Но мы живем в реальном мире и реинжиниринг становится очень частой задачей. В данном случае, акцесс помог мне выиграть очень нужное мне время. Банальная истина - нужный инструмент выбирается исходя из задачи.
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32590799
Guest_333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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. Организация наследования и интерфейса и _эмуляция_ наследования реализации страшно геморройны. Чем больше иерархия классов, чем больше свойств и методов проходит через наследовние, тем больших трудов стоит это наследование организовать
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32590847
Sonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, меня поражает то что вы хотите от Access. Ну не создан он для того что бы лепить супер крутые вещи, но для средней конторы (userов этак 50), это самое то. Как по сорости разработки так и по скорости изменения структуры и логики программы. И не надо говорить что сначала надо разработать всю логику а потом лепить программу, это руководству скажите :)

У меня Sqlserver 2000 и клиенты на Access, забросил мой любимый Builder C++, так как скорость разработки несопоставима :)

Надо видеть место продукта в мире.
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32590981
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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. Организация наследования и интерфейса и _эмуляция_ наследования реализации страшно геморройны. Чем больше иерархия классов, чем больше свойств и методов проходит через наследовние, тем больших трудов стоит это наследование организовать
Спорить не буду, кода придется написать побольше и делать это надо по-аккуратнее.
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32591220
Guest_333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorMПоэтому-то я и говорю, что примеры "ущербности" наследования VBA нужно выбирать тщательнее
....
И то, что оно "фуфловое и беспомощное" по-моему Вы доказываете неубедительно.
.....

Я не знаю, что же еще мне нужно раскопать про VB-наследование для убедительности, после всего этого:

Guest_333Итого, на тукущий момент, мы имеем:
1. В VB/VBA нельзя создать класс формы и уже из него создавать новые экземпляры форм
2. В VB/VBA нельзя визуально наследовать базовые контролы (что прекрасно продемонстрировал пример c классом ресайза и Tag)
3. Как следствие, нельзя визуально на форму из библиотеки классов класть субклассированные контролы
4. Организация наследования и интерфейса и _эмуляция_ наследования реализации страшно геморройны. Чем больше иерархия классов, чем больше свойств и методов проходит через наследовние, тем больших трудов стоит это наследование организовать

Guest_333
IgorM

OK. Метод MyMethod класса Class3
Код: plaintext
1.
    Debug.Print Me.Property8
    Debug.Print Me.Property1
Как будет тут? Как будет это работать?

* Могу ли я написать (в Вашем варианте кода, в последней строке самого вызова):
Код: plaintext
MsgBox Str(cls3.Property1)
Нет? Тогда какое же это наследование?
* Если я объявлю в Class1 новую переменную Property0 - появится ли она автоматом в Class3? (без_моего_вмешательства_руками в описание классов Class2 и Class3). Нет? Тогда какое же это наследование?
* Если я создам в Class1 новый метод MyMethod0 - появится ли он автоматом Class3? Нет? Тогда какое же это наследование?

Для достижения всего этого извраты в описании интерфейсов руками делать надо? Тогда какое же это наследование?
IgorM
Код: plaintext
1.
         ? This.Property8  && Это новое св-во
         ? This.Property1  && А это - доставшееся по наследству


(смею предполагать, что в VFP это возможно).
Да, это возможно. И, само собой, не только "This" (что является прямым аналогом "Me" в VB), но и извне кода класса:
Код: plaintext
1.
2.
3.
oThirdClass = CREATEOBJECT("ThirdClass")
oThirdClass.MyMethod()  
MessageBox(oThirdClass.Property1)


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.
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32591312
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, про это я и говорил - всё пошло по новому кругу.

Я не агитировал использовать Access и не позиционировал его как лучшее средство разработки, если Вы еще этого не заметили. И ни разу не написал, что наследование в Access образец для подражания. Я выступаю только за отсутствие безосновательных заявлений и за знание предметов сравнения.

Если бы Вы написали, не "лучше сделай" и "покажи как тебе это удалось", в чем для меня заметно желание посадить собеседника в лужу, а продолжили бы в духе того, что это лажа и никто этим не пользуется, то я бы и не стал Вам ничего объяснять.

Дальнейшее обсуждение этого вопроса для меня ничего нового не откроет, поэтому думаю тему наследования можно закрыть.
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32598623
Geenetix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Облегчает жизнь
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #32627382
]d1vEr[
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы не сказал, что в Access все так просот и элементарно. Я на нем профессионально писал (да и сейчас иногда приходится ипользовать). Простенькие БД делать элементарно, но это не значит, что нельзя на Access делать профессиональные мощные приложения (особенно если подвязать SQL Server)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #34369878
x22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
говорят в акцессе легко работать со связями многие-ко-многим
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #34381282
Fuzzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не забудем ещё поставить плюс Аксессу в случае, когда нужно крутануть запрос по таблицам, лежащим на разных серверах -- Jet в этом случае вообще незаменим
...
Рейтинг: 0 / 0
Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
    #34381460
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: тема закрыта и присыпана нафталином.
юзеру "x22" предупреждение!
при последующих попытках реанимировать давно усопшие топики, логин будет заблокирован
...
Рейтинг: 0 / 0
17 сообщений из 217, страница 9 из 9
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Д а в а й т е п о х в а л и м M i c r o s o f t A c c e s s .
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]