Помогите новичку. Нестандартный ЛС-плагин.

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Помогите новичку. Нестандартный ЛС-плагин.

Сообщение Maximus »

Пытаюсь написать хоть какой нибуть ЛС-плагин не с РичЭдитом.
Соответственно возникает проблема с помещением на окно компонент.
Как это сделать? Помогите кто чем может.
Заранее благодарен. Сильно.
Аватара пользователя
Sheridan
Сообщения: 129
Зарегистрирован: Вт мар 01, 2005 07:47
Откуда: Пятигорск
Контактная информация:

Сообщение Sheridan »

А в чем проблема то? Не должно быть проблем...
Аватара пользователя
Nik
Сообщения: 583
Зарегистрирован: Сб янв 01, 2005 13:00
Откуда: Киров
Контактная информация:

Сообщение Nik »

Найди на wincmd.ru исходники моего AmpView Classic - там все довольно понятно (как мне кажется :)). Да и сам плагин - нестандартней некуда...
Аватара пользователя
Parcan
Сообщения: 399
Зарегистрирован: Ср дек 15, 2004 16:39
Откуда: Russian

Сообщение Parcan »

Sheridan

а он наверно, хочет, чтоб как в обычной делфевой программе все взял и нарисовал ручками :)

Maximus

ты тут хоть опиши до чего ты сам дошел уже, я вот месяц мучился (изучал WinAPI) прежде чем увидел приемлемый результат.
Аватара пользователя
SCHMaster
Сообщения: 296
Зарегистрирован: Ср дек 15, 2004 02:32
Откуда: Киев
Контактная информация:

Сообщение SCHMaster »

2Parcan
я вот месяц мучился (изучал WinAPI) прежде чем увидел приемлемый результат.
Вот-вот :). Зато теперь... Половина стандартных делфевых юнитов мною забыта ввобще :), зато появилась куча своих, работающих 100%, а размер проги в результате меньше :).

2Maximus
Ты вообще как писть хочешь? С классом TForm или без него (можно, SynUs, к примеру, писался БЕЗ ФОРМЫ, окно редактора прямо на Lister влепил)? Или хочешь на чистом API? И причем тут RichEdit-то?
Аватара пользователя
Sheridan
Сообщения: 129
Зарегистрирован: Вт мар 01, 2005 07:47
Откуда: Пятигорск
Контактная информация:

Сообщение Sheridan »

SCHMaster
Можеть тебе стоит на MSVS переходить?
Аватара пользователя
Nik
Сообщения: 583
Зарегистрирован: Сб янв 01, 2005 13:00
Откуда: Киров
Контактная информация:

Сообщение Nik »

SCHMaster
> И причем тут RichEdit-то?
Видимо, при том, что на wincmd.ru как-то мелькала статья "Lister плагин для начинающих на Delphi" так к ней прилагался пример с RichEdit...
Аватара пользователя
SCHMaster
Сообщения: 296
Зарегистрирован: Ср дек 15, 2004 02:32
Откуда: Киев
Контактная информация:

Сообщение SCHMaster »

Sheridan

Код: Выделить всё

Можеть тебе стоит на MSVS переходить?
Пытаюсь потихоньку... Правда движется очень уж медленно (как с делфями в свое время). Пока трудно догоняю, т.е. как собака - "все понимаю, а сказать немогу" - чужие исходники читаю, а вот че-т свое скомпилить... Нужно "рыть", а времени КОТОстрофически нехватает :). Ну ниче, раздуплюсь рано или поздно. Нуна токи путевую инфу найти :).
Nik
мелькала статья "Lister плагин для ...
Статейка, кстати, пользительная (правда кой-чаво там мона и не делать). Но... Гм... Это-ж не означает, что все плагины должны быть (не, я более чем уверен, что САМ так и расчитывал - "ДОЛЖНЫ БЫТЬ" похожи на Lister) слеплены "по образу и подобию"... А мозга на что?
2Maximus
Не подумай, что тут на тебя "наезжають" или насмехаются. Все мы тут были в твоей-же шкуре. Просто тогда и спросить-то неукого было, вот сами и раздуплялись. Посему что конкретно ты хочешь от своего детища? Просмотр каких файлов? Внешний вид? Растолкуй, я думаю поможем.
А, мужики? Помагём?
Аватара пользователя
Nik
Сообщения: 583
Зарегистрирован: Сб янв 01, 2005 13:00
Откуда: Киров
Контактная информация:

Сообщение Nik »

Чем сможем - поможем... И правда, разъясни толком - чего надо-то.
Аватара пользователя
Parcan
Сообщения: 399
Зарегистрирован: Ср дек 15, 2004 16:39
Откуда: Russian

Сообщение Parcan »

SCHMaster
Пытаюсь потихоньку... Правда движется очень уж медленно (как с делфями в свое время). Пока трудно догоняю, т.е. как собака - "все понимаю, а сказать немогу" - чужие исходники читаю, а вот че-т свое скомпилить... Нужно "рыть", а времени КОТОстрофически нехватает Smile. Ну ниче, раздуплюсь рано или поздно. Нуна токи путевую инфу найти Smile.
у меня так сделфи, кучу раз разбирался в исходника на делфи и переписывал на си, а вот написать самому... так мне быстрее на щах получится, ну накройняк в 1с извратится :)
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

Не ожидал такой реакции. Спасибо.

Собственно в том вопросе я разобрался при помощи примера плагина на С++Билдер (автору спасибо).
Только он будет весить много из-за ВЦЛ (600 кил с самого начала).

Так вот хотелось бы узнать как бы этак его сделать поменьше. И поможет ли в этом АПИ. И если да, то насколько. И насколько от этого сложнее станет. И не лучше ли просто ДЛЛку с ВЦЛ потом просто сжать специальной тулзой для сжатия ЕХЕшников. И может тогда уж скажете, какую лучше использовать.

С ув. Я.
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

О чём-то конкретно говорить сложно.
Если сможешь писать на голом API (а это ох как непривычно после VCL), то размер конечного бинарника зависит лишь от твоего мастерства. Обычно получается раз в пять-десять меньше чем на ВЦЛ. Сложность возрастает пропорционально - тоже раз в пять-десять. В этой же пропорции возрастает количество глюков (если ты не имешь опыта в кодинге на АПИ).
Аватара пользователя
Nik
Сообщения: 583
Зарегистрирован: Сб янв 01, 2005 13:00
Откуда: Киров
Контактная информация:

Сообщение Nik »

На самом деле 600 К - это не так уж и много, особенно если учесть что дальше размер будет не так сильно. Ну а уменьшить можно, избавившись от некоторых модулей VCL.

Да и про KOL/MCK нельзя забывать...

Ну а еще можно упаковать UPX - размер уменьшится примерно втрое (правда, на слабых машинах замедлится загрузка плагина).
Аватара пользователя
SCHMaster
Сообщения: 296
Зарегистрирован: Ср дек 15, 2004 02:32
Откуда: Киев
Контактная информация:

Сообщение SCHMaster »

Совершенно верно -
О чём-то конкретно говорить сложно
. Все зависит от твоих навыков, сообразительности и ... Функциональности плагина
В качестве примера - DSView я писал без VCL, но из-за (хоть и глючной :)) функциональности самого плагина+DirectShow+COM интерфейсы размер на API около 500 kb. Ну а с UPX - около 150 kb :). Но... Гиммору, а соответственно глюков... :). Овчинка выделки нестоит.
В качестве другого примера - PluginManager - только API. Заморочки там есть, но спокойно обошелся без VCL (хотя ест и VCL версия, точнее была). Посему мои советы
Если умеешь писать на API
1. Если плагин планируешь ненавароченный - пиши на API
2. Если несильно навороченный - извращайся без модулей Forms, SysUtils, IniFiles и других, включающих в себя эти модули... :). Гимморно, но можно.
3. Если планируешь навороченный плагин - пиши на VCL и не морочь себе...
Если не умеешь писать на API
1. Пиши на API что-б научиться в любом случае, но тогда придется потом переписывать его поновой :).
2. Пиши на VCL и не морочь себе... :).
3. Все-таки попробуй на API что-б научиться :).
Аватара пользователя
Parcan
Сообщения: 399
Зарегистрирован: Ср дек 15, 2004 16:39
Откуда: Russian

Сообщение Parcan »

SCHMaster
правильно говоришь дядя Федер, надо знать апи а то скоро начнут все на дотнете шарашить и будем вспоминать мы сегодняшние времена, как коммунисты вспоминают СССР
Ответить