Путь приложения

Applications development, KoOS API questions
  • Да он совсем отмороженный!!!
    Spoiler:
    1.PNG
    1.PNG (43.73 KiB)
    Viewed 4188 times
    Товарищи администраторы, это уже далеко не первый вам сигнал. Вам ведь же самим придётся за ним как за маленьким ребёночком следить. Ну разве такое может заинтересовать серьёзных разработчиков? Ну вам виднее, конечно.
  • 0CodErr
    Теперь первые два байта можно скипать. В любом случае абсолютный путь остаётся абсолютным.
  • Serge, ну хорошо, представь, ты хочешь перевести filepath в другую кодировку и что-то обработать. Но функция преобразования же не знает о "гениальных" идеях Pathoswithin. И при преобразовании обратно, точно так же не будет добавлять ничего лишнего. Вот и считай, сколько лишних действий сразу. А скипать и раньше можно было. Скипаешь, а потом уже проверяешь, абсолютный или относительный.

    Pathoswithin, если уж так хочется засунуть байт кодировки и передавать в SysFn70, то засунь его знаешь куда? Вон туда, например

    Code: Select all

      * +20 = +0x14: ?: path - zero terminated string
      or
      * +20 = +0x14: byte: 0 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
      * +21 = +0x15: dword: pointer to string
    А в SysFn30 добавь 2 подфункции Set\GetCurrentDirectoryW. Адрес буфера AppPath было предложено записывать со знаком "-".


    : Я просил начиная с viewtopic.php?f=5&t=1602&start=1140#p67319 сообщения про пути приложений перенести в ту тему viewtopic.php?f=2&t=3429 но, похоже, что модераторов у нас уже не осталось к сожалению. Эти сообщения просто затеряются в итоге.
  • 0CodErr
    Я с тобой полностью согласен. Моё предложение касалось быстрого исправления проблемы с абсолютными путями. То, что всё хуже, чем нам кажется и вылезут проблемы о которых мы пока не знаем, я не сомневаюсь.

    Перенёс сообщения. Вторая тесно связанная тема Ошибки файловой системы
  • Я не согласен пока. Патос что то сделал, и стало видно, в чем ошибся, только при реальном применении

    Нужно обдумать-предложить варианты, и обсудить их.

    Я пока еще медитирую, нет решения (ну кроме второго набора функций)
  • Вот для этого сначала создают бранч, тестируют, а потом коммитят в транк.
  • Нет кворума бранчи тестировать. Тут сама система пока вечный бранч - и так ИМХО пока лучше
  • До каких пока, интересно - ещё год? Два?
  • Siemargl wrote:Нет кворума бранчи тестировать. Тут сама система пока вечный бранч - и так ИМХО пока лучше
    Но это не мешало Serge и hidnplayr сделать kolibri-process и net, успешно протестировать и потом благополучно смержиться с транком. Никому при этом не доставляя неудобств.
  • Тут Siemargl прав, бранчи нужны для тех дел, которые заведомо (и масштабно) ломают что-то конкретное. Но кроме автора их никто тестировать не будет и единичные проблемы с совместимостью всё равно не всплывут до слияния. Собственно, даже без бранча, сколько времени уже прошло?

    0CodErr
    Да ты и сам не очень жарко соображаешь. Во-первых, я сделал то, что решили, и было достаточно времени ознакомиться viewtopic.php?f=2&t=3429&start=58
    Во-вторых, ввод пути это отдельная тема, здесь обсуждается получение приложением пути запуска.
  • Pathoswithin wrote:было достаточно времени ознакомиться
    Причём тут время? Или ты снова решил дурачком прикинуться? Вон там viewtopic.php?f=2&t=3429&start=75#p67405 описана одна из возможных проблем.

    Раньше было [слэш][устройство][слэш][раздел]
    А теперь стало [слэш][фигня какая-то][слэш][устройство][слэш][раздел]

    А тебя, выходит, сбило с толку
    Если очень нужен префикс, пусть будет два байта /☺ /☻ /♥ для абсолютных путей и один байт для относительных.
    Но префикс там совершенно не нужен. Вот предложенный вариант viewtopic.php?f=2&t=3429&start=75#p67405 который совершенно ничего при этом не поломает.

    Ломать совместимость имеет смысл только в самом крайнем случае, когда уже других вариантов ну просто совсем уж не осталось.
    А тут вместо того, чтобы немного поработать мозгами, взял и на ровном месте сломал. И даже при наличии уже предложенных вариантов он продолжает снова пакостить.
    Pathoswithin wrote:которые заведомо (и масштабно) ломают
    Да, вот это как раз и происходит. А если бы это происходило в бранче, то он, конечно, бы споткнулся здесь, но на транк это бы никак не повлияло. И мог бы потом снова думать, как сделать лучше, а не гадить в транке, как это сейчас происходит.

    Но вообще, если что-то вдруг без особой необходимости кем-то ломается, то можно всегда сделать revert просто :wink: И аргумент вполне весомый, сохранение обратной совместимости.
    Во-вторых, ввод пути это отдельная тема, здесь обсуждается получение приложением пути запуска.
    Нет, здесь обсуждается всё, что связано с путями вообще.
  • А в SysFn30 добавь 2 подфункции Set\GetCurrentDirectoryW
    Тут, кстати, тоже можно по аналогии с AppPath, то есть, указатель со знаком "-". Сделать Or 0x80000000 не трудно и на С, и на ассемблере, и на чём хочешь.

    Можно же ведь и не ломать совместимость, если есть такая возможность. Жаль, что до некоторых это никак не доходит.
  • ввод пути это отдельная тема, здесь обсуждается получение приложением пути запуска
    Вот теперь немного поработай мозгами и подумай, что я хотел этим сказать. Как путь в UTF-8 без префикса будет работать с 70 функцией? Как твой вариант поможет существующим приложениям?
  • Pathoswithin wrote:Как путь в UTF-8 без префикса будет работать с 70 функцией?
    Ты там чем читаешь-то? :mrgreen:
    0CodErr wrote:Pathoswithin, если уж так хочется засунуть байт кодировки и передавать в SysFn70, то засунь его знаешь куда? Вон туда, например
    Код:

    * +20 = +0x14: ?: path - zero terminated string
    or
    * +20 = +0x14: byte: 0 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    * +21 = +0x15: dword: pointer to string
    Вот теперь немного поработай мозгами и подумай, что я хотел этим сказать.
    Ту уж сначала сам разберись, что ты там хотел сказать.
  • Who is online

    Users browsing this forum: No registered users and 8 guests