OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 23:31

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Не срабатывает ShellExecute("http....
СообщениеДобавлено: Пятница, 02 Апрель, 2010 12:33 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
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 использовал и чегой-то ещё - не помню, но ничего не получилось...

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не срабатывает ShellExecute("http....
СообщениеДобавлено: Пятница, 02 Апрель, 2010 13:38 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Похоже, ругается на двойные кавычки в начале строки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не срабатывает ShellExecute("http....
СообщениеДобавлено: Пятница, 02 Апрель, 2010 15:18 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Адрес без кавычек передаётся.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не срабатывает ShellExecute("http....
СообщениеДобавлено: Понедельник, 05 Апрель, 2010 15:16 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Напрямую срабатывает:
Код:
^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 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
http://habrahabr.ru/blogs/development/76131/
http://habrahabr.ru/blogs/development/88907/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не срабатывает ShellExecute("http....
СообщениеДобавлено: Четверг, 09 Июнь, 2011 11:50 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Вчера обнаружили, что команда winebrowser отсутствует в новом вайне. Т.е. как бы вайн стал больше похож на винду. Работает сразу: ^Q "i21sysCalls.Open('http://www.inr.ac.ru/~info21/')".

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

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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB