purebasic.info

PureBasic forum
Текущее время: Чт июн 21, 2018 5:26 am

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




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: StatusBarText?
СообщениеДобавлено: Сб окт 01, 2016 1:34 am 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 259
Благодарил (а): 14 раз.
Поблагодарили: 29 раз.
Пункты репутации: 0
Думал писать в "Обнаруженные ошибки компилятора PB" но не уверен.

Имеется проверка ListViewGadget:
Код:
1
2
3
4
5
6
7
8
9
Работает в потоке! Галочка "Поддержка многопоточности" стоит.
...
If CountGadgetItems(#Lvg_0) = 0
  StatusBarText(#Csb_0, 1, PoiskNo)
Else
  Delay(100)
  StatusBarText(#Csb_0, 1, "        Ok")
EndIf
...

ListViewGadget заполняется по мере поступления данных в InternetReadFile_.
Так как StatusBarText(#Csb_0, 1, " Ok") по сути играет роль очистки переменной "PoiskNo" (в StatusBarText), то решил "Ok"
убрать, и тут: InternetReadFile_ получает "400 Bad Request".
Оставляю "O" - работает, и "Op" - работает, то есть:
Код:
1
2
3
StatusBarText(#Csb_0, 1, "        O")
 или
StatusBarText(#Csb_0, 1, "        Op")

а вот
Код:
1
StatusBarText(#Csb_0, 1, "        Tg")

уже не пляшет :shock:
Пробовал копировать код в новый проект, все также не работает.
Получилась некая привязка именно к "O" :?
Если так, то работает:
Код:
1
2
StatusBarText(#Csb_0, 1, "        Ok")
StatusBarText(#Csb_0, 1, "")

Но это же как-то странно. Даже не знаю :roll:


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: StatusBarText?
СообщениеДобавлено: Сб окт 01, 2016 6:47 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11181
Благодарил (а): 4 раз.
Поблагодарили: 414 раз.
repeat писал(а):
Работает в потоке!
А если убрать из потока все функции так или иначе взаимодействующие с GUI и перенести их в тот поток, в котором создано окно, то же будут эти ошибки?

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: StatusBarText?
СообщениеДобавлено: Сб окт 01, 2016 8:30 pm 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 259
Благодарил (а): 14 раз.
Поблагодарили: 29 раз.
Пункты репутации: 0
Всё перенести в основной поток не могу ибо там:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Procedure StatusPoisk(*s)
  DownloadPoisk = 1
  Repeat
    Delay(200)
    StatusBarText(#Csb_0, 1, Poisk1)
    Delay(200)
    StatusBarText(#Csb_0, 1, Poisk2)
    Delay(200)
    StatusBarText(#Csb_0, 1, Poisk3)
    Delay(200)
    StatusBarText(#Csb_0, 1, Poisk4)
    Delay(200)
    StatusBarText(#Csb_0, 1, Poisk5)
  Until DownloadPoisk = 0
 
  If CountGadgetItems(#Lvg_0) = 0
    StatusBarText(#Csb_0, 1, PoiskNo)
  Else
    Delay(100)
    StatusBarText(#Csb_0, 1, "")
  EndIf  
  ProcedureReturn
EndProcedure

Но могу полностью удалить процедуру и вызов (@процедуры(), 0), и всё равно InternetReadFile_ получает "400 Bad Reque". Через F5 работает. После создания exe - нет. Это очень странно :roll:


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: StatusBarText?
СообщениеДобавлено: Вс окт 02, 2016 2:52 am 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 259
Благодарил (а): 14 раз.
Поблагодарили: 29 раз.
Пункты репутации: 0
Удаление/добавление пробелов в строке " Ok" также вызывает "400 Bad Reque"
Если вместо "Ok" написать 79107 (O-79, k-107)
Код:
1
StatusBarText(#Csb_0, 1, "79107")

то работает :shock:.
Добавление пробелов в "79107" вызывает ошибку. Пробовал удалить CreateStatusBar так "400 Bad Reque".

...
Проверил только что с OpenSSL все работает четко. Выходит проблема во взаимодействии puric'a с WinINet. Может нужно что прописать в "Библиотека подсистемы" ведь через F5 работает, а в exe нет? :roll:
P.S. Через F5 работает если стоит галочка "Включить Purifier".


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: StatusBarText?
СообщениеДобавлено: Вс окт 02, 2016 3:51 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
repeat писал(а):
CreateStatusBar
repeat писал(а):
получает "400 Bad Request"

Ты горячее со сладким не путаешь? Выкладывай нерабочий код.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: StatusBarText?
СообщениеДобавлено: Вс окт 02, 2016 4:08 am 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 259
Благодарил (а): 14 раз.
Поблагодарили: 29 раз.
Пункты репутации: 0
MrF писал(а):
Ты горячее со сладким не путаешь? Выкладывай нерабочий код.
Речь идет о InternetReadFile_, код выложить не могу ибо коммерция. Да и не прошу за меня делать, мне бы вектор правильный а там я уже разберусь :?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: StatusBarText?
СообщениеДобавлено: Вс окт 02, 2016 5:32 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
repeat писал(а):
мне бы вектор правильный

Ты говоришь, что у тебя пробелы в статусбаре мешают работе InternetReadFile, я правильно понимаю? Ну тут поможет только смена фазы в электросети :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: StatusBarText?
СообщениеДобавлено: Вс окт 02, 2016 9:19 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 621
Благодарил (а): 66 раз.
Поблагодарили: 20 раз.
Пункты репутации: 5
MrF писал(а):
Ну тут поможет только смена фазы в электросети

Ты думай что советуешь, это ж не вилку в розетке перевернуть на 180 градусов, это на столбе провода нужно перекидывать.
Правильно нужно объяснять, а то он начнёт вилку в розетке крутить, а толку нет.
:D :D :D

а вот где собака зарыта, это интересно, repeat сделай демку, если и в ней хрень, тогда да, а иначе у тебя в коде черти байты перемешивают


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: StatusBarText?
СообщениеДобавлено: Вс окт 02, 2016 3:09 pm 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 259
Благодарил (а): 14 раз.
Поблагодарили: 29 раз.
Пункты репутации: 0
newJS писал(а):
у тебя в коде черти байты перемешивают
Всё может быть. :?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: StatusBarText?
СообщениеДобавлено: Пн окт 03, 2016 12:30 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
newJS писал(а):
Ты думай что советуешь, это ж не вилку в розетке перевернуть на 180 градусов, это на столбе провода нужно перекидывать.
Правильно нужно объяснять, а то он начнёт вилку в розетке крутить, а толку нет.

Действительно, этот момент я упустил :D


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: StatusBarText?
СообщениеДобавлено: Пн окт 03, 2016 3:48 am 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 259
Благодарил (а): 14 раз.
Поблагодарили: 29 раз.
Пункты репутации: 0
Собственно проблема была в такой конструкции:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Global Poisk1.s
 
Procedure a()
...
  Poisk1 = "Поиск"
...
  ProcedureReturn
EndProcedure
 
Procedure b()
...
  Poisk1 = "Search"
...
  ProcedureReturn
EndProcedure
 
Procedure c()
...
  Poisk1 = "Ricerca"
...
  ProcedureReturn
EndProcedure


Думал сделать поддержку нескольких языков, но так как понятия не имею как правильно это делать, то решил делать через процедуры в которых глобальным переменным присваивается новое значение + по-новому вызов CreateMenu (так я могу менять язык не перезагружая программу). И именно эти процедуры влияют на WinINet функции. Хоть и компилится с Purifier без ошибок. :|


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

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


Кто сейчас на форуме

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


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB