OberonCore
https://forum.oberoncore.ru/

Не срабатывает ShellExecute("http....
https://forum.oberoncore.ru/viewtopic.php?f=34&t=2519
Страница 1 из 1

Автор:  Евгений Темиргалеев [ Пятница, 02 Апрель, 2010 12:33 ]
Заголовок сообщения:  Не срабатывает ShellExecute("http....

winebrowser и i21sysCalls

Ubuntu 9.10, blackbox15i21base
На тычки по ссылкам вида
Код:
<i21sysCalls.Open('http://forum.oberoncore.ru/viewtopic.php?f=4&t=912')>этой ветки форума<>
получаем в консоли сообщения
Код:
err:winebrowser:get_url_from_dde Unabled to retrieve URL from string L"\""
err:winebrowser:wmain Usage: winebrowser URL

Было дело, пробовал шаманить с бубном около i21sysCalls. И WinApi.ShellExecuteW использовал и чегой-то ещё - не помню, но ничего не получилось...

Может кто разберётся, или уже в курсе?

Автор:  Александр Ильин [ Пятница, 02 Апрель, 2010 13:38 ]
Заголовок сообщения:  Re: Не срабатывает ShellExecute("http....

Похоже, ругается на двойные кавычки в начале строки.

Автор:  Евгений Темиргалеев [ Пятница, 02 Апрель, 2010 15:18 ]
Заголовок сообщения:  Re: Не срабатывает ShellExecute("http....

Адрес без кавычек передаётся.

Автор:  Евгений Темиргалеев [ Понедельник, 05 Апрель, 2010 15:16 ]
Заголовок сообщения:  Re: Не срабатывает ShellExecute("http....

Напрямую срабатывает:
Код:
^Q "i21sysCalls.Start('winebrowser http://ya.ru/')"
Если подходить к i21sysCalls.Open прежде всего как к команде открытия ссылок на веб-страницы, можно использовать такой "кроссплатформенный" :mrgreen: хак:
Код:
MODULE  i21sysCalls; (**  **)
...
   PROCEDURE ( a: Action ) Do;
      ...
      hinst := WinApi.ShellExecute( hwnd, lpOperation, lpFile, lpParameters, lpDirectory, nShowCmd );
      IF (hinst # 0)
         & (win_fileName[0] = "h")
         & (win_fileName[1] = "t")
         & (win_fileName[2] = "t")
         & (win_fileName[3] = "p")
         & (win_fileName[4] = ":")
         & (win_fileName[5] = "/")
         & (win_fileName[6] = "/")
      THEN
         Start("winebrowser " + win_fileName)
      END
      ...
   END Do;

Автор:  Борис Рюмшин [ Вторник, 13 Апрель, 2010 07:39 ]
Заголовок сообщения:  Re: Жизнедеятельность: текущие события, факты, замечания...

http://habrahabr.ru/blogs/development/76131/
http://habrahabr.ru/blogs/development/88907/

Автор:  Евгений Темиргалеев [ Четверг, 09 Июнь, 2011 11:50 ]
Заголовок сообщения:  Re: Не срабатывает ShellExecute("http....

Вчера обнаружили, что команда winebrowser отсутствует в новом вайне. Т.е. как бы вайн стал больше похож на винду. Работает сразу: ^Q "i21sysCalls.Open('http://www.inr.ac.ru/~info21/')".

Вариант с winebrowser тоже работает: ^Q "i21sysCalls.Open('winebrowser http://www.inr.ac.ru/~info21/')"

Надо полагать --- обратная совместимость. Если раньше нужно было к виндовой программе, которую хочешь пускать под вайн, приставлять костыль для учтения особенности вайна, то теперь уже вайн приставляет свой костыль, учитывающий особенность хождения некоторых программ на костылях, учитывающих бывшую особенность вайна. От какая загогулина.

Пример наращивания избыточной сложности ради сохранения обратной совместимости. Если совместимость поддерживатся годами, то, пожалуй, можно найти программы, ходящие на сотнях костылей...

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/