Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Вниз

Хочу избавиться от MCK   Найти похожие ветки 

 
Barloggg   (2005-07-14 15:20) [0]

Хочу избавиться от MCK по завершению проекта. И превратить готовый проект в чисто KOL версию. Обкатываю интересную идею... MCK мешает...
Как я понимаю MCK это чисто визуальная настройка для Дельфи, и все?
Значит от него можно безболезненно избавиться. Вопрос как?
При этом основная мысль в том, чтобы создать в той-же директории другой dpr файл с чистой KOL версией того-же проекта и использовать одни и те-же *.pas модули. То есть писать код в MCK+KOL а уже выдавать на скачку чисто KOL версию.
Кто нибудь может помочь готовым решением? или алгоритмом действий? чего, откуда и куда перенести.


 
ECM ©   (2005-07-14 15:56) [1]

Выступить в роли препроцессора...:)

Для каждой формы проекта и для Dpr-файла:
1) Пройтись по всем блокам условной компиляции, в которых анализируется символ KOL_MCK и удалить все ветки, для которых
KOL_MCK не задан (удалить сами директивы $IFDEF, $IFNDEF).. т.е в тексте должно остаться только то, что анализируется компилятором при заданом $DEFINE KOL_MCK

2)Избавиться от лишних INC-файлов(необязательно).Раскрутить все строки {$I ....} (они могут быть вложенными) и заменить их на содержимое соответсвующих INC-файлов.

... можно написать несложную утилиту, которая будет это делать автоматически...


 
Vladimir Kladov   (2005-07-14 18:06) [2]

остается только 1 вопрос: зачем? никто не мешает открывать проект MCK в Delphi в котором MCK не установлен. И работать как с обычным. Run-time кода никаког.


 
ECM ©   (2005-07-14 18:30) [3]

никто не мешает открывать проект MCK в Delphi в котором MCK не установлен
...а dfm-файлы? ... при попытке открыть модуль формы Delphi начнет грузить соответсвующий DFM и страшно ругаться...

остается только 1 вопрос: зачем?
Как раз для того чтобы избавиться от DFM

ИМХО


 
ECM ©   (2005-07-14 18:34) [4]

З.Ы. Но, я согласен с Владимиром, что вобщем случае - если не открывать в проекте файлы форм - MCK-проект будет успешно собираться в Delphi без установленного MCK....


 
Barloggg   (2005-07-18 13:37) [5]

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

ага, оставить только что внутри ifdef kol_mck, правильно?


 
Thaddy   (2005-07-19 11:49) [6]

I also use a preprocessor ro make the mck generated project code more readable for my poor old eyes. it is called "DIPP" and can be found at www.zeitungsjunge.de

It does not work properly on files with assembler code, so do not use it on KOL.pas itself. This preprocessor is otherwise very powerfull!


 
ECM ©   (2005-07-19 17:31) [7]

Да...DIPP вещь полезная...:) полностью позволяет решить поставленную задачу...

DIPP.exe -ID:\KOL;<INC_PATHs> -ai -H-KOL_MCK -c -DKOL_MCK UnitFileInp.pas UnitFileOut.pas
- решает 1) и 2) из поста [1]

DIPP.exe -H-KOL_MCK -c -DKOL_MCK Main.pas Main.pas.1
- только 1)....

Можно получить и более красивые результаты если применить несколько проходов с разными условиями...:)


 
Юрий К   (2005-07-19 21:25) [8]

А где этот Dipp берётся?


 
Thaddy   (2005-07-19 22:00) [9]

Again:

http://www.zeitungsjunge.de


 
Thaddy   (2005-07-19 22:04) [10]

Again:

http://www.zeitungsjunge.de


 
Barloggg   (2005-07-20 10:13) [11]

О! хочу! но настройки нашего прокси меня выпускают только на зону "RU". и мне туда на дотянуться... :( может кто поможет? и бросит мне на почтовик?


 
Thaddy   (2005-07-20 14:48) [12]

Send me an email and I respond and attach it.


 
Barloggg   (2005-07-20 15:49) [13]

Получил. Спасибо. буду разбираться.


 
Barloggg   (2005-07-20 16:02) [14]

humm, благодарю персонально.
Вах какая прелесть... :) итого у меня похоже появится еще один bat файл в проекте. Кстати на правах рекламы: первый бат файл предназначен для сохранения только файлов исходников и являет собой вызов winrar с длиннющей командной сторокой. А второй только для ехе-файла и всего необходимого для его запуска. Крайне удобно для переноса исходников между рабочим/домашним компами и подготовки апдейта для выкладки.

Кстати насчет идеи, которую я обкатываю...
это небольшая зарисовка на тему мечты Владимира Кладова о собственном языке программирования :) то есть довольно простенький компилятор с возможностью изменения кода "на лету".
Правда пока это только идея...


 
Юрий К   (2005-07-20 20:41) [15]

Dipp с сорсами или без?


 
Thaddy   (2005-07-20 21:05) [16]

Recipe:

Two ansjovis, finely chopped. (or use caviar)
Two tablespoons of parsley, finely chopped
One tablespoon of Tomato puree
One hard boiled egg, chopped
Small onion, chopped, or two tablespoons of chives, finely chopped
Three to four tablespoons of sourcream
One teaspoon of capres, whole
One Garlic, pressed
Salt, Pepper, some vinager.

Mix and serve chilled with rosted fish or porc and warm, freshly baked bread,  (or blinies) ;)


 
hunn   (2006-01-31 06:43) [17]

А возможна такая ситуация:
проект создается на VCR? с помощью DIPP переделывается в чисто KOL проект, а замтем компилируется на FPC?


 
homm ©   (2006-01-31 08:48) [18]

<offtopic>

> hunn   (31.01.06 06:43) [17]
>
> А возможна такая ситуация:
> проект создается на VCR? с помощью DIPP переделывается в
> чисто KOL проект, а замтем компилируется на FPC?


"Это злой Кртмэн из злой паралельной вселенной!"
South Park (c)

Что за прикол такой? На этом форуме может быть только один человек с ником начинающимся на "h", продолжающимся на гласную, и заканчивающимся на две согласные, притом все строчными (причем даже мыло по анологии) ;) У меня чуть разрыв сердца не случился ;)

ЗЫ Шутка это ;)
</offtopic>


 
ECM ©   (2006-01-31 11:18) [19]


> homm ©   (31.01.06 08:48) [18]


> проект создается на VCR? с помощью DIPP переделывается в
> чисто KOL проект

Что есть "VCR"? (набрал без переключения на рускую раскладку - и сразу увидел :)) - Переделать MCK проект  в чисто KOL - DIPP есессно может - это обсуждалось выше...

> а замтем компилируется на FPC

А как вы компилируете примеры KOL на FPC? - вот тем же способом дальше...

> homm ©   (31.01.06 08:48) [18]


> На этом форуме может быть только один человек с ником

"В живых должен остаться один ...." (с)
И вообще старших надо уважать - как мне кажется hunn на форуме  (и не только) появился раньше ...:))
З.Ы. Тоже шутка


 
ECM ©   (2006-01-31 11:19) [20]


> на рускую

с точностью "до наоборот"..:))


 
hunn   (2006-01-31 12:24) [21]

Извиняюсь, VCR=MCK(в русской раскладке)...Ошибочка вышла!


 
hunn   (2006-01-31 12:27) [22]

Значит можно, я правильно понял?


 
Barloggg   (2006-01-31 13:43) [23]

хмм... в продолжение.
а есть ли программы для сливания воедино нескольких юнитов?
методика, как она мне видится общем-то проста, определяется иерархия, а потом сливаются воедино секции interface и implementation.

кто-нибудь встречал такую прогу?

Это уже для "предпродажной подготовки" сырцов :) дабы нечитабельно... :Е


 
homm ©   (2006-01-31 14:42) [24]


> а есть ли программы для сливания воедино нескольких юнитов?
> методика, как она мне видится общем-то проста, определяется
> иерархия, а потом сливаются воедино секции interface и implementation.


В этом одно из отличий языка Delphi (не Пвскаль) от С++: Он модульный. В си действиткльно можно вместо #include вставить сам текст файла (что и делает препроцессор), в Delphi все сложнее, вполне могут возникнуть неразрешимые перекрестные ссылки. В прочим я не отрицаю возможности такого слияния.


> ECM ©   (31.01.06 11:18) [19]

Вот видишь. Ты уже перепутал нас ;)


 
Андрей ©   (2006-01-31 15:46) [25]


>
> кто-нибудь встречал такую прогу?
>
> Это уже для "предпродажной подготовки" сырцов :) дабы нечитабельно.
> .. :Е
>


Обычно такая прога называется Obfuscator (что-то типа "запутыватель"). Для паскаля/Дельфи, к сожалению, не встречал. Зато их есть для си и дотнета.


 
Barloggg   (2006-01-31 15:51) [26]

не, перекрестные ссылки отслеживаются. компилятор их сразу рубит. а между прочим хочется. ибо форвардное описание класса и взаимодополняющие классы возможны только в пределах одного модуля.
а иногда мне хочется провести прямую ссылку на родительский объект... который лежит в другом модуле... и вместо прямой ссылки приходится делать ссылку базового типа (PObj например или TObject для классов) и при каждом обращении вставлять лишнюю операцию преобразования типов.
Впрочем я не это имел ввиду.

мне лишь хочется перекрутить весь код дабы он стал еще более безумным при сохранении работоспособности :) а я опять-таки не терял возможности удобно все рассовать по модулям. таким образом и я буду морально удовлетворен - попробуй-ка прочитай эту кашу и заказчик получит обещанный и компилябельный код в заключительном отчете (без МСК кстати).


 
Barloggg   (2006-01-31 15:56) [27]

ага, Obfuscator... теперь хоть знаю как это называется. действительно под дельфи что-то как-то нету... может написать?


 
Vedun   (2006-02-02 02:16) [28]

Напиши.


 
Barloggg   (2006-02-02 09:15) [29]

кстати ссылку нашел. Гугль рулит, яндексу до него однозначно далеко. но вне пределов нашего прокси.

Хе. никогда не знаешь где найдешь...
знакомый вот выслал программу, которая превращает текст в нечто нечитабельное. посмотрел. выглядит сильно. внешне. смысл этой проги в расстановке в каждом найденном пробеле комментариев с мусором. обратный процесс всего навсего грохает эти комменты и выдает почти первоначальный код.
впрочем он так и написал "новичков пугать". :)


 
Barloggg   (2006-02-03 14:12) [30]

Блеск!
Вот рецепт

removeMCK.bat

mkdir KolVer
copy *.pas kolver\*.pas
copy *.dpr kolver\*.dpr
copy *.inc kolver\*.inc
copy *.cfg kolver\*.cfg
copy *.dof kolver\*.dof
DIPP.exe -o -H-KOL_MCK -c -DKOL_MCK Main.pas MainKOL.pas
copy mainkol.pas kolver\Main.pas
del kolver\mainkol.pas

а если в эту-же директорию слить еще и содержимое архива с KOL а также Кол-файлы всех используемых компонент, то полученный комплект файлов легко будет компилиться на другой машине, даже без установленного KOL+MCK.



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.1 c
2-1162323188
daser
2006-10-31 22:33
2006.11.19
Как уменьшить высоту ComboBox a?


15-1162189017
TUser
2006-10-30 09:16
2006.11.19
Простые числа


6-1151396205
val07
2006-06-27 12:16
2006.11.19
Загрузка данных с HTML


15-1162209544
Obideli
2006-10-30 14:59
2006.11.19
Как mail добавить в list ?


6-1149692838
RainKM
2006-06-07 19:07
2006.11.19
Сканер сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский