Формы/Приложения Oracle в Internet Explorer 8 с помощью JInitator

TL; DR - Замена elsif на else if подходит для условного задания только с 2 путями. Не забудьте закрыть второе if условие, созданное с помощью else if. Лучше всего иметь как можно меньше условных уровней, что делает метод менее сложным. Поэтому соблюдайте осторожность и используйте elsif.

В зависимости от того, как вы планируете написать свой метод, else if может работать. Однако это плохая привычка.

Возьмите следующий пример. Есть только 2 условия. Второе условие выглядит как elsif, но интерпретируется как второй фрагмент кода:

# What you may want to write
if true
  puts 'true'
else if false
  puts 'false'
end

# How Ruby requires it
if true
  puts 'true'
else
  if false  # You may also do: puts 'false' if false
    puts 'false'
  end
end

Первый блок будет искать другой end, чтобы закрыть основное условие. Обратите внимание, вы можете обойти дополнительный конец с помощью одной строки if. (Я предлагаю это только в том случае, если исполняемый код может быть записан в одну строку.)

Важно отметить, что после того, как вы объявите else, у вас может не быть других условных обозначений в том же уровне, что и else. Учитывая второй пример выше, второй if вложен в else. Если вы вызовете else или elsif на том же уровне, что и начальный else, условие не выполнится.

Вот когда вы не хотите реализовывать else if:

def describe(inhabitant)
  if inhabitant == "sophie"
    puts 'gender: female'
    puts 'height: 145'
  elsif inhabitant == "paul"
    puts 'gender: male'
    puts 'height: 145'
  elsif inhabitant == "dawn"
    puts 'gender: female'
    puts 'height: 170'
  elsif inhabitant == "brian"
    puts 'gender: male'
    puts 'height: 180'
  else
    puts 'species: Trachemys scripta elegans'
    puts 'height: 6'
  end
end

Обратите внимание, что ни одно из выражений elsif не может быть «преобразовано» в else if чистым способом.

ОБНОВЛЕНИЕ : Благодаря Стефану вы все еще можете использовать else if, что приводит к очень вложенному методу.

https://gist.github.com/sos4nt/a41b36d21f6eec5e0a42

9
задан Thomas Jones-Low 21 May 2009 в 22:29
поделиться

11 ответов

Для решения этой проблемы вам необходимо заменить файл C: \ Program Files \ Oracle \ JInitiator xxxxx \ bin \ hotspot \ jvm.dll на версию файла sun.

Вкл. в моей системе версия Sun находится здесь C: \ Program Files \ Java \ jre6 \ bin \ client \ jvm.dll

12
ответ дан 4 December 2019 в 13:49
поделиться

Да, на данный момент IE8 не сертифицирован для приложений Oracle. Возможно, скоро вы услышите хорошие новости!

2
ответ дан 4 December 2019 в 13:49
поделиться

У нас похожая проблема.

Я полагаю, что Oracle знает об этом и работает над патчем, который еще не готов.

-2
ответ дан 4 December 2019 в 13:49
поделиться

As Mundit has said, it is still not certified.

Do you have access to Metalink? Note: 760326.1 When Will IE 8 Be Certified With E-Bussines Suite? gives some further information.

0
ответ дан 4 December 2019 в 13:49
поделиться

Мой коллега посоветовал мне сделать следующее:

Добавить сервер в Надежные сайты, а затем:

  1. Инструменты / Свойства обозревателя
  2. Вкладка «Безопасность» -> Надежные узлы
  3. Нажмите кнопку «Другой» ...
  4. прокрутите до конца и найдите параметр «Включить фильтр XSS» (третий снизу)
  5. , установите для него значение Отключить

У меня работает с приложениями 11i и R12.

Удачи!

0
ответ дан 4 December 2019 в 13:49
поделиться

One thing to add to Simon's solution. I did the trick on one computer but couldn't repeat it on a second one. Finally, I discovered that replacing the file does not work when using the file jvm.dll from java 6 update 14. It worked fine when I used the jvm.dll file from version 13.

0
ответ дан 4 December 2019 в 13:49
поделиться

В JINIT есть еще кое-что интересное. Поддержка Oracle была прекращена 31 июля. Возможно, вы захотите подумать о переходе на приложение SUN JPI instad. Сейчас Oracle рекомендует этот путь, и, поскольку JINIT не будет получать обновления, он самый безопасный.

0
ответ дан 4 December 2019 в 13:49
поделиться

Замена jvm.dll у меня не сработала. Правильный способ переключиться на Java VM от Sun, который сработал для меня, - это изменить этот

baseHTMLjinitiator=basejini.htm

на это

baseHTMLjinitiator=basejpi.htm

в файле formsweb.cfg. IE8 в XP SP3, DEP включен.

3
ответ дан 4 December 2019 в 13:49
поделиться
  1. Установите последнюю версию JRE из Солнце. Я установил «jre-6u10-windows-i586-ps.exe».

  2. Скопируйте jvm.dll (appx Ver 11.0.0.15 размером 2,25 МБ (2359 296 байт)) из папки «C: \ Program Files \ Java \ jre6 \ bin \ client »и вставьте ее в папку, в которой установлен Jinitiator (расположение по умолчанию), например« C: \ Program Files \ Oracle \ JInitiator 1.3.1.22 \ bin \ hotspot ».

  3. Он будет нормально работать с Браузер IE8.

Спасибо за помощь.

-1
ответ дан 4 December 2019 в 13:49
поделиться

You guys are great! I was pulling my hair off their roots and now got it fixed.

  1. I went to Control Panel/System/Advanced tab/Startup and Recovery panel hit Settings. Then in the System Startup panel hit Edit. There made noexecute=AlwaysOff and saved.
  2. As per Simon I swapped the Oracle jvm.dll with the Java version. I had to downgrade that to jvm.dll version 10.0.0.23 though.
  3. Also as per Simon I went to Tools/Internet Options/Security/Trusted Sites/Custom Level and disabled Enable XSS Filter.

Not sure whether #1 applies to everyone but it was necessary for me. Good Luck! Fouwaaz

0
ответ дан 4 December 2019 в 13:49
поделиться

Я успешно установил Oracle Forms 10g на Windows7 и получил работающие JPI и Jinitiator.

Шаги

  • Установка Dev10g
  • Применение патча p5983622_10123_WINNT
  • Ручная установка JRE 1.6 upd 20
  • Настройка formsweb. cfg для JPI
  • Это предпочтительный метод, так как вам не нужно выполнять следующие шаги на каждом клиенте

Если вы хотите запускать с помощью Jinitiator

  • Настройте formsweb.cfg для Jinitiator
  • После установки Jinitiator на клиентской машине замените jvm.dll
1
ответ дан 4 December 2019 в 13:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: