LPK: совпадения имен файлов.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: LPK: совпадения имен файлов.

Сообщение Лекс Айрин » 06.05.2016 10:37:50

inc это просто выделенный в отдельный файл кусок программы.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: LPK: совпадения имен файлов.

Сообщение zub » 06.05.2016 11:11:19

Параметры компиляции - это когда выравнивание отличается или размер записей или сетов - т.е. когда по одним и тем же исходникам компилятор генерит не совместимый код. По моему мнению))
У вас на лицо обычная условная компиляция, да еще и в одном месте, да еще и крохотный фрагментик))

Правильное решение это ваш вариант 1
1.1 - сделать in0k_lazIdeSRC_SourceEditor_onActivate___inFocusONLY параметром соответствующего класса и плясать как надо в рантайме. ИМХО не красиво
1.2 - сделать то что завернуто в in0k_lazIdeSRC_SourceEditor_onActivate___inFocusONLY отдельной процедурой (для полного удовлетворения в отдельном модуле), сделать в классе пропертю OnIn0KActivate, ее вызов поместить на место где было завернуто. Соответственно экземпляр имеющий\неимеющий обработчик OnIn0KActivate будет вести себя как требуется. ИМХО самый правильный вариант
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: LPK: совпадения имен файлов.

Сообщение iN0k » 06.05.2016 12:02:24

Лекс Айрин писал(а):inc это просто выделенный в отдельный файл кусок программы.

эм ... а что тогда unit?
inc-файлы я всегда воспринимал ... некими отдельными файлами НЕ учитывающимися компилятором (участвуют в "препроцессинге", но не работают на этапе компиляции)

Добавлено спустя 9 минут 19 секунд:
zub писал(а):У вас на лицо обычная условная компиляция

но она генерит НЕ совместимый код :D
zub писал(а):Правильное решение это ваш вариант 1

но как тогда быть с "атомарностью" пакета?
по себе знаю ... что ставить "левые" пакеты для установки какой-то "фигни" ... я должен быть ОЧЕНЬ заинтересован (вот ради VirtualTree я готов помучаться ... и поискать и покачать) ...

но ради моих поделок ... искать и ставить еще 3-4 доп компонента ... я бы пожалуй отказался :D
iN0k
постоялец
 
Сообщения: 146
Зарегистрирован: 18.07.2012 14:09:50

Re: LPK: совпадения имен файлов.

Сообщение zub » 06.05.2016 13:00:05

>>но она генерит НЕ совместимый код :D
она генерит совместимый код, чуток отличающийся в реализации. и по сути в данном случае не нужна

>>но как тогда быть с "атомарностью" пакета?
Никак не быть, так и должно быть. Зачем вам 2 разных варианта одного и тогоже? одинаковый "код" должен быть в одной копии

>>но ради моих поделок ... искать и ставить еще 3-4 доп компонента ... я бы пожалуй отказался :D
Предложу довести поделки до уровня чтоб не отказывались))
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: LPK: совпадения имен файлов.

Сообщение resident » 06.05.2016 13:20:53

iN0k писал(а):2. Ручной копи-Паст, т.е. в пакете A.lpk есть юнит UnitA.pas, в B.lpk юнит UnitB.pas. Содержимое этих юнитов ОДИНАКОВО, но за счет условной компиляции юниты "ведут" себя по разному. Неудобство в том, что исправив ошибку в одном из них, мне приходится руками копировать изменения в другой. И эта ручная синхронизация утомляет, повозившись с двумя и поняв что тоже самое теперь надо делать для трех ...

Дык, а если самому написать консольную программку и включить её перед компилятором (см. скрин), чтобы она тупо копировала UnitA.pas в UnitB.pas? Или тут даже cmd.exe или какой bat-ник прокатит?
Тут конечно еще сразу моменты. Мы ж не знаем, какой файл будете править. Чтобы программка сравнивала время правки и копировала только тот, что новее. Или при копировании один делать read only, и править только второй?

Добавлено спустя 7 минут 44 секунды:
Ха! Забыл, в Windows же уже давно присутствуют симлинки!
Создать линк на тот файл и всё, не?
https://geektimes.ru/post/50878/
Коммент с хабра "...использую одни и те же файлы, часто (например для CakePHP) их может быть очень много. Чтобы не копировать их из проекта в проект и легко модифицировать, я использую ссылки."

з.ы. Я их делал Far-ом
з.з.ы. Но я бы наверное выбрал реальное копирование, чем линк.

Добавлено спустя 3 минуты 21 секунду:
iN0k писал(а):некими отдельными файлами НЕ учитывающимися компилятором

Какой бы тогда был кайф работать с такими?
И мне кажется вы ошибаетесь, ведь копаясь в исходниках в редакторе кода, Лазарус меня приводит в том числе и в inc файлы.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: LPK: совпадения имен файлов.

Сообщение Лекс Айрин » 06.05.2016 13:47:55

iN0k писал(а):эм ... а что тогда unit?


Это обособленная единица компиляции.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: LPK: совпадения имен файлов.

Сообщение iN0k » 06.05.2016 14:04:32

resident писал(а):И мне кажется вы ошибаетесь, ведь копаясь в исходниках в редакторе кода, Лазарус меня приводит в том числе и в inc файлы.

ну ... тут я думаю работает Lazarus, это он на лету ищет файлы и показывает их ...


я тут попробовал свой
3.а. UnitС.pas превращаем в UnitС.inc, в каждом пакете снова создаем соответствующие юниты UnitА.pas и UnitВ.pas, в которых пишем {$i UnitС.inc} ...

оно работает :D ... установилось оба пакета, без ошибок ...
буду пробовать перекорячить все в таком стиле, но что-то мне подсказывает ... что это тоже опа и большая :?

Добавлено спустя 13 минут 36 секунд:
resident писал(а):Дык, а если самому написать консольную программку и включить её перед компилятором (см. скрин), чтобы она тупо копировала UnitA.pas в UnitB.pas? Или тут даже cmd.exe или какой bat-ник прокатит?

:shock: ах тыж хитрая ... лиса

блин ... да ... как вариант ... спасибо ... буду думать :P
iN0k
постоялец
 
Сообщения: 146
Зарегистрирован: 18.07.2012 14:09:50

Re: LPK: совпадения имен файлов.

Сообщение zub » 06.05.2016 14:18:31

>>но что-то мне подсказывает ...
Правильно подсказывает. Ненадо "ухитрятся" на ровном месте.
С такими "выкрутасами" ваши творения точно пользователю не приглянутся
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Пред.

Вернуться в Lazarus

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

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

Рейтинг@Mail.ru