Вверх ↑
Этот топик читают: Гость
Ответов: 534
Рейтинг: 5
#1: 2010-06-27 00:38:21 ЛС | профиль | цитата
1. Выберите диск C
2. Выберите пустой дисковод
3. Runtime Error
Почему?
Если выбрать сразу пустой дисковод, то ошибки нет.
Схема:
code_19085.txt
карма: 0

0
файлы: 1code_19085.txt [751B] [99]
Разработчик
Ответов: 26164
Рейтинг: 2127
#2: 2010-06-27 00:45:21 ЛС | профиль | цитата
Slim9009, слэш включи
карма: 22

0
Ответов: 534
Рейтинг: 5
#3: 2010-06-27 00:48:01 ЛС | профиль | цитата
nesco, если ты имеешь ввиду BackSlash в DriveBox, то не работает. Тоже самое.
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#4: 2010-06-27 00:48:36 ЛС | профиль | цитата
А черт его знает, почему WebBrowser так отрабатывает, я это тоже заметил
карма: 22

0
Ответов: 1841
Рейтинг: 369
#5: 2010-06-27 00:49:52 ЛС | профиль | цитата
Slim9009, ну вообще то путь браузеру должен передаваться в формате C:\ а не как у тебя C:
Пример:

Add(DriveBox,5610227,322,70)
{
Left=95
Top=105
Align=2
link(onSelect,14154648:doStrCat,[])
}
Add(WebBrowser,11321923,420,70)
{
Top=21
Width=392
Height=247
Align=5
Point(doFromText)
link(URL,14154648:Result,[(426,58)(400,58)(400,114)(373,114)])
}
Add(StrCat,14154648,367,70)
{
Str2="\"
link(onStrCat,11321923:doNavigate,[])
}

А на счёт рантайма это плохо, по идее не должно быть его.
карма: 1
0
Ответов: 534
Рейтинг: 5
#6: 2010-06-27 00:52:17 ЛС | профиль | цитата
CriDos, работает и без соединения строк, так зачем лишние компоненты ставить?
карма: 0

0
Ответов: 1841
Рейтинг: 369
#7: 2010-06-27 00:58:29 ЛС | профиль | цитата
Slim9009

1) Рантайм нельзя получить
2) При выборе "пустого" диска автоматом выбирается ближайший с верху не "пустой" диск... - не актуально
------------ Дoбавленo в 00.58:
3) Это у тебя работает а вот у меня на пример (Win 7) и при выборе не читаемого диска также ошибка выпадает если передавать букву диска браузеру без слешей... - не актуально
карма: 1
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#8: 2010-06-27 01:02:25 ЛС | профиль | цитата
CriDos писал(а):
При выборе "пустого" диска автоматом выбирается ближайший с верху не "пустой" диск...

Так раньше работала, сейчас работает по-другому -- на выход onUnReadable выдается нечитаемый диск
------------ Дoбавленo в 01.02:
CriDos, компонент изменили, у тебя, поди, старый. Сейчас слэш можно прицепить без дополнительного компонента
карма: 22

0
Ответов: 1841
Рейтинг: 369
#9: 2010-06-27 01:07:17 ЛС | профиль | цитата
ну тогда и память убрать
Пример:
code_19086.txt
------------ Дoбавленo в 01.07:
nesco, уже понял
карма: 1
0
файлы: 1code_19086.txt [287B] [64]
Разработчик
Ответов: 26164
Рейтинг: 2127
#10: 2010-06-27 01:09:23 ЛС | профиль | цитата
CriDos писал(а):
ну тогда и память убрать

Ага, и линк, впридачу

code_19087.txt


------------ Дoбавленo в 01.09:
Но там что-то другое, я пока не понял, откуда лезет RTE
карма: 22

0
файлы: 1code_19087.txt [266B] [92]
Ответов: 1841
Рейтинг: 369
#11: 2010-06-27 01:19:26 ЛС | профиль | цитата
nesco писал(а):
Ага, и линк, впридачу

а у меня через эту точку не передаются данные
только через точку URL
------------ Дoбавленo в 01.19:
а также у меня в свойстве DriveBox стоит диск "C" по умолчанию а при запуске программы у него уже выбран диск "E"...

карма: 1
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#12: 2010-06-27 01:54:15 ЛС | профиль | цитата
CriDos писал(а):
а у меня через эту точку не передаются данные

Ты хочешь сказать, что из поток у тебя не читает URL, да быть такого не может. У тебя, поди, в свойстве URL что-то стоит, а для чтения из потока там ничего не должно быть
CriDos писал(а):
а также у меня в свойстве DriveBox стоит диск "C"

Для применения этого свойства необходимо подать событие на точку doDisk
------------ Дoбавленo в 01.54:
Поковырял браузер, нашел, что вот эта строка вызывает ошибку

   (PKOLWebBrowser(Control).Document as IPersistStreamInit).Load(TStreamAdapter.Create(p));
До нее работает

Может Dilma чего подскажет
карма: 22

0
Ответов: 1841
Рейтинг: 369
#13: 2010-06-27 02:07:02 ЛС | профиль | цитата
nesco писал(а):
У тебя, поди, в свойстве URL что-то стоит, а для чтения из потока там ничего не должно быть

да, действительно в свойстве стоят данные по умолчанию (about:blank).

nesco писал(а):
Для применения этого свойства необходимо подать событие на точку doDisk

хм, я думал что у этого элемента свойство "Disk" схожее со свойством "Text" элемента ComboBox'а и т.п.
карма: 1
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#14: 2010-06-27 02:53:04 ЛС | профиль | цитата
Dilma, вот эта схема с браузером выдает RTE при нажатии на кнопку


Add(MainForm,2953706,175,287)
{
Height=323
link(onCreate,7930051:doData,[])
}
Add(WebBrowser,11321923,357,301)
{
Top=6
Width=392
Height=247
URL=""
Point(doFromText)
}
Add(DoData,2723156,294,378)
{
link(onEventData,11321923:doFromText,[(342,384)(342,335)])
link(Data,8339295:Text,[])
}
Add(StrList,8339295,294,315)
{
Strings=#6:<HTML>|8: <HEAD>|9: </HEAD>|8: <BODY>|45: <P align="center">Диск пуст или отсутствует|9: </BODY>|7:</HTML>|
}
Add(Button,16177968,238,378)
{
Left=170
Top=260
link(onClick,2723156:doData,[])
}
Add(DoData,7930051,238,301)
{
Data=String(c:)
link(onEventData,11321923:doNavigate,[])
}

Компонент DriveBox тут совсем не причем.

С чем это может быть связано
карма: 22

0
Ответов: 373
Рейтинг: 108
#15: 2010-06-27 10:15:03 ЛС | профиль | цитата
его нужно заново проинициализировать

procedure THIWebBrowser._work_doFromText;
var p:PStream;
begin
Init;
if PKOLWebBrowser(Control).Document = nil then
PKOLWebBrowser(Control).Navigate('about:blank');
p := NewMemoryStream;
p.WriteStr(ToString(_Data));
p.Position := 0;
(PKOLWebBrowser(Control).Document as IPersistStreamInit).Load(TStreamAdapter.Create(p));
p.Free;
end;
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)