Страница: 1 | 2 | 3 | 4 |
Вопрос: Тупой вопрос по структурам
Добавлено: 28.09.12 22:40
Автор вопроса: Dark Engine | Web-сайт:
Ответы
Всего ответов: 56
Номер ответа: 46
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #46
Добавлено: 14.10.12 14:19
Mikle, ну я же уже дважды писал об этом.
tlb - это библиотека типов, фактически скомпилированный файл IDL. Он не относится ни к VB ни к любому другому языку кроме MIDL. И создается вручную, для компиляции используя одноименную тулзу, входящую в состав любой Студии.
Keyword для VB6 - Implements
Как описано выше. Создаем в IDL интерфейс IMyInterface, компилим в TLB. Далее, реферим её к проекту и создаем произвольное число классов. К примеру, Class1, который Implements IMyInterface, и Class2, который Implements IMyInterface.
Далее в коде мы можем использовать "полиморфизм" произвольно
Оба класса будут (и должны) реализовывать свойства и методы, унаследованные от интерфейса IMyInterface.
Всегда получается.
Номер ответа: 47
Автор ответа:
Mikle
Вопросов: 5
Ответов: 134
Профиль | | #47
Добавлено: 15.10.12 19:49
LamerOnLine
tlb, не в явном виде, а зашитую в dll, можно создать на vb6. Везде выше я уточнял, что это не сделаешь ПОЛНОСТЬЮ на vb6.
Номер ответа: 48
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #48
Добавлено: 16.10.12 11:16
Mikle, об этой возможности я писал в 39-м посте.
Не знаю что значит "полностью" на vb6 и почему нельзя пользоваться тулзами от шестой студии. Иконки для форм тоже не на vb6 рисуются. MIDL - стандартная тулза, предполагающая её использование в том числе для vb6.
Если есть желание - впердолить это дело в dll. Даже определить этот интерфейс как Public класс внутри проекта (если это dll), затем имплементить его в производных классах - и всё будет полностью на VB6. Это не принципиально.
Основная причина по которой я упомянул именно tlb - на тот случай, скажем, если твоя программа таким образом определяет общий интерфейс, используемый плагинами и т.п., то есть каждый из которых может быть в отдельной дллке. Если каждая будет его определять - это dll hell.
Номер ответа: 49
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #49
Добавлено: 16.10.12 12:35
Собственно, вот примитивный примерчик чисто на VB, спаял на скорую руку. Вроде бы даже там всё понятно
http://rusfolder.com/33145085
Номер ответа: 50
Автор ответа:
Mikle
Вопросов: 5
Ответов: 134
Профиль | | #50
Добавлено: 16.10.12 13:51
URL заблокирован SpIDer Gate
Номер ответа: 51
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #51
Добавлено: 16.10.12 14:02
Можно и здесь http://ul.to/imihdqeq
Номер ответа: 52
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #52
Добавлено: 16.10.12 14:02
пардон, http://uploaded.net/file/imihdqeq
Номер ответа: 53
Автор ответа:
Mikle
Вопросов: 5
Ответов: 134
Профиль | | #53
Добавлено: 16.10.12 15:23
LamerOnLine, тут ещё хуже - криво ввёл капчу, не хочет давать повтор бесплатно
Но это не важно, я вырубил DRWeb и скачал с русфолдера. (есть же нормальные файлообменники, типа Narod.ru или 188.ru).
Что сказать... круто. Почему я этого до сих пор не знал.
Если ты ещё скажешь, что есть конструкторы с параметрами, то это будет полное крушение стереотипов.
Номер ответа: 54
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #54
Добавлено: 16.10.12 15:30
Боюсь более порадовать нечем. Все таки VB6 даже на полноценный ООП язык не тянет.
Хотя для задач на нем реализуемых всегда хватало дефолтного конструктора. Не роскошь, но рабочий минимализм
Номер ответа: 55
Автор ответа:
Nowgamer
Вопросов: 0
Ответов: 1
Web-сайт:
Профиль | | #55
Добавлено: 28.12.12 00:50
согласен
Номер ответа: 56
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #56
Добавлено: 28.12.12 11:09
LOL, Mikle спасибо за тему
Mikle, очкастый c vbstreets?