«Социологический» опрос (2)

Модератор: Хакер

Как лучше?

Как в FNDLL-1 (класс CStdDLLInfo) с вызовом Export для каждой экспортируемой функции.
2
11%
Declare Export Function Foo .....
17
89%
 
Всего голосов : 19

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

«Социологический» опрос (2)

Сообщение Хакер » 20.03.2011 (Вс) 7:22

Опять же FNDLL.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: «Социологический» опрос (2)

Сообщение SLIM » 20.03.2011 (Вс) 12:43

Если я правильно понял, то второй вариант - однозначно.
Пишите жизнь на чистовик.....переписать не удастся.....

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: «Социологический» опрос (2)

Сообщение arthur2 » 20.03.2011 (Вс) 14:14

Проголосовал за второе... А как это теоретически возможно? как заставить бейсик не считать такую конструкцию ошибкой? Или я неправильно понял?
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: «Социологический» опрос (2)

Сообщение Хакер » 21.03.2011 (Пн) 3:16

arthur2 писал(а):как заставить бейсик не считать такую конструкцию ошибкой?

Сам VB будет думать, что это такие комментарии. Поэтому при открытии проекта там, где не установилен FNDLL-3, проект останется формально правильным, просто в нём неподдерживаемые конструкции предстанут комментариями.

Есть ещё вариант, конечно, со специальным окном, в котором программист просто добавляет нужные функции. И даже вариант с Designer-ом, хотя их написание, вроде, не документировано.

Объясню и преимущество первого (оригинального) подхода: там для превращения ActveX DLL в Standard DLL достаточно было просто открыть dll «с помощью» fndll_modifier.exe. Поэтому скомпилировать DLL можно было на одном компьютере, а превратить в «Native» DLL — на другом. Никакой в принципе связи между VB IDE и fndll_modifier не было. А предлагаемые методы требуют тесной интеграции с IDE.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: «Социологический» опрос (2)

Сообщение arthur2 » 21.03.2011 (Пн) 4:32

Хакер писал(а):Объясню и преимущество первого (оригинального) подхода
ты бы объяснил до голосования - глядишь, оригинальный подход бы побольше голосов набрал :)
Хакер писал(а):Никакой в принципе связи между VB IDE и fndll_modifier не было. А предлагаемые методы требуют тесной интеграции с IDE.
И как теперь переголосовать? По мне - так лучше без связи с ИДЕ :) Хотя механизм связи с ИДЕ интересен - это будет аддин?
Хакер писал(а):И даже вариант с Designer-ом, хотя их написание, вроде, не документировано.
Не понял :oops: Что за вариант и что не документировано?
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: «Социологический» опрос (2)

Сообщение Хакер » 21.03.2011 (Пн) 5:46

arthur2 писал(а):Что за вариант и что не документировано?

Что, впервые слышишь, что такое Designer? Тогда при создании проекта в VB выбери шаблон «Add-in» и посмотри на пример дизайнера.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: «Социологический» опрос (2)

Сообщение Хакер » 21.03.2011 (Пн) 6:25

arthur2 писал(а):ты бы объяснил до голосования - глядишь, оригинальный подход бы побольше голосов набрал :)

Дело в том, что в FNDLL-3 будет генерироваться TLB, которая будет вшиваться либо в выходную DLL, либо класться отдельно рядом. Для этого, как ни крути, нужна связь с IDE, или, как минимум, с файлами проекта.

Так что, размышляя над этим, я прихожу к выводу, что всё-таки даже если бы результат голосования был обратным, придётся использоваться второй путь. Но вот о том, через код ли должны объявляться экспорты, или через сторонний диалог свойств — об этом предлагаю подискутировать.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: «Социологический» опрос (2)

Сообщение arthur2 » 21.03.2011 (Пн) 7:17

Хакер писал(а):выбери шаблон «Add-in» и посмотри на пример дизайнера.
А, в этом смысле :) Не очень удобно и не очень понятно. Кодом лучше. Если на то пошло, лучше визард.

Про тлб - здорово :)
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: «Социологический» опрос (2)

Сообщение Хакер » 21.03.2011 (Пн) 8:05

arthur2 писал(а):Если на то пошло, лучше визард.

Буэ. Это недопустимо. Что делать визардом?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: «Социологический» опрос (2)

Сообщение arthur2 » 21.03.2011 (Пн) 8:46

чтобы было кодом, но чтобы код можно было генерировать. Как класс-билдер: хочешь - сам пишешь, хочешь - генерируешь.
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: «Социологический» опрос (2)

Сообщение Хакер » 21.03.2011 (Пн) 8:59

Что там генерировать? Строчку Declare Export Sub Foo?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: «Социологический» опрос (2)

Сообщение arthur2 » 21.03.2011 (Пн) 11:41

Нет, почему? Пару - декларацию и пустую процедуру. Или выбрать из списка существующих процедур те, которые нужно экпортировать.

Ну а дизайнером что ты предполагаешь делать?
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: «Социологический» опрос (2)

Сообщение Хакер » 21.03.2011 (Пн) 11:42

arthur2 писал(а):Ну а дизайнером что ты предполагаешь делать?

Поставить чекбоксы в списке процедур. Установить дополнительные опции.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: «Социологический» опрос (2)

Сообщение arthur2 » 22.03.2011 (Вт) 12:46

Вот то же самое можно сделать и в мастере - чтобы все эти дополнительные опции вписались в код.

Кстати, если уж делать инструкцию по экспорту с помощью комментария, можно ставить такой комментарий прямо внутри той функции, которую нужно экспортировать. Как-нибудь так:

Код: Выделить всё
private sub  Foo()
'#export# "FooFooFoo"
    doSomething
end sub
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: «Социологический» опрос (2)

Сообщение Хакер » 22.03.2011 (Вт) 13:05

arthur2 писал(а):Вот то же самое можно сделать и в мастере - чтобы все эти дополнительные опции вписались в код.

Опции не вписываются в код, а хранятся в свойствах проекта. Мастеры нужны там, где можно запутаться и где спектр настроек на третьем шаге зависит от выбора на втором шаге.

Привидённый тобою пример кода отвратителен. Во-первых он чисто визуально отвратителен, во-вторых он не даёт никакого способа установить, с каким прототипом функция должна попасть в генерируемую TLB. А мой вариант с Declare Export Function предполагает это.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: «Социологический» опрос (2)

Сообщение arthur2 » 22.03.2011 (Вт) 18:46

Хакер писал(а):Во-первых он чисто визуально отвратителен, во-вторых он не даёт никакого способа установить, с каким прототипом функция должна попасть в генерируемую TLB.
Вообще-то, я говорил не о синтаксисе команды экспорта, а о том, где эту команду расположить. Что мешает расположить там же и нужные для тлб прототипы?

Код: Выделить всё
private Function Foo(ByVal a As Long) as Long
'#Export Sub Foo1 (ByVal a As Long)
'#Export Function Foo2 (a As Any) As Long

    doSomething
end sub
Просто мне кажется, что удобно, если экспорт функции прописывается внутри самой этой функции.

А визард нужен хотя бы потому, что наш код будет внутри комментария, а значит бейсик нам не помошник в отлове ошибок.
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: «Социологический» опрос (2)

Сообщение Хакер » 22.03.2011 (Вт) 18:47

arthur2 писал(а):что наш код будет внутри комментария, а значит бейсик нам не помошник в отлове ошибок.

Поясни пожалуйста.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: «Социологический» опрос (2)

Сообщение arthur2 » 22.03.2011 (Вт) 18:48

Хакер писал(а):Сам VB будет думать, что это такие комментарии. Поэтому при открытии проекта там, где не установилен FNDLL-3, проект останется формально правильным, просто в нём неподдерживаемые конструкции предстанут комментариями.
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: «Социологический» опрос (2)

Сообщение Хакер » 22.03.2011 (Вт) 19:12

Наверное не нужно было мне писать то, что вводит в заблуждение?
Это будут полноценные statement-ы в полноценным синтаксисом с полноценной проверкой синтаксиса с полноценными сообщениями об ошибках по поводу некорректного синтаксиса.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: «Социологический» опрос (2)

Сообщение arthur2 » 22.03.2011 (Вт) 20:02

Тады - ништяк! Но тады -
arthur2 писал(а):как заставить бейсик не считать такую конструкцию ошибкой?
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: «Социологический» опрос (2)

Сообщение Хакер » 22.03.2011 (Вт) 20:08

С точки зрения VB это будет комментарием. Со всеми следствиями. С точки зрения пользователя VB это будет строка необычного синаксиса. Со всеми последствиями.

Вообще, забавно, судя по последним топикам, VB не в плоскости «я не программист, просто пишу программу для учёта своих носков, как прочитать последнюю строчку не открывая файла?» интересует на этом форуме только Артура. Грустно.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: «Социологический» опрос (2)

Сообщение arthur2 » 23.03.2011 (Ср) 5:32

Я так понимаю, что твой аддин (это же будет аддин?) будет вмешиваться в то, как код выводится на экран? То есть, в самом файле строка начинается с опострофа, а аддин интерпретирует некоторые из комментариев как строки с некоторыми особенностями синтаксиса?

Получается, можно расширять язык, вводя в него практически любые новые синтаксические конструкции?
Хакер писал(а):Вообще, забавно, судя по последним топикам<...>
Судя по последним топикам, на форуме уже практически никого не осталось :(
Артур
 
   

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: «Социологический» опрос (2)

Сообщение SLIM » 23.03.2011 (Ср) 6:56

Хакер писал(а):Вообще, забавно, судя по последним топикам, VB не в плоскости «я не программист, просто пишу программу для учёта своих носков, как прочитать последнюю строчку не открывая файла?» интересует на этом форуме только Артура. Грустно.

Ну зря ты так.
Мня это интересует. Твои последние проекты очень интересны, и хорошо применимы в жизни, в разработке приложений не только для учета носков. Я просто жду когда появится статься о новой FNDLL.
Пишите жизнь на чистовик.....переписать не удастся.....

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: «Социологический» опрос (2)

Сообщение Хакер » 23.03.2011 (Ср) 8:22

arthur2 писал(а):Я так понимаю, что твой аддин (это же будет аддин?) будет вмешиваться в то, как код выводится на экран? То есть, в самом файле строка начинается с опострофа, а аддин интерпретирует некоторые из комментариев как строки с некоторыми особенностями синтаксиса?

Получается, можно расширять язык, вводя в него практически любые новые синтаксические конструкции?

Всё намного сложнее, но в общих словах — так.

Хотя проще написать написать новую IDE поверх существующиз VBA6.DLL и С2.EXE, потому что основная логика в них.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Мой блог

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

    TopList  
cron