35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
|||||||||||||||||||||||||||||||
1 | |||||||||||||||||||||||||||||||
Передача других типов переменных через тип LPVOID07.10.2015, 23:00. Показов 2457. Ответов 32
Метки нет (Все метки)
Добрый вечер.
В функцию нужно передать переменную типа
Подскажите, как надо? Добавлено через 1 час 23 минуты Теперь передаю так:
Но когда используется переменная caller, то выдает ошибку. Что не правильно?
0
|
07.10.2015, 23:00 | |
Ответы с готовыми решениями:
32
Передача переменных из других классов Передача в методы переменных ссылочных типов Передача параметра lpvoid Какой тип данных в VB6 соответствует LPVOID? |
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
||||||
08.10.2015, 01:21 [ТС] | 21 | |||||
ValeryS, я использовал глобальный, дабы знать на 100% что указатель не пустой.
Добавлено через 1 минуту ValeryS, g_caller до запуска потока присвоен указатель от web_view, где выполняется:
0
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
||||||
08.10.2015, 01:27 [ТС] | 23 | |||||
ValeryS, ну так я тоже пробовал(добавив &):
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
|
08.10.2015, 01:29 | 24 |
что я могу сказать? не знаю, я же ошибки не вижу
отладчик в зубы и пошагово, смотреть что происходит, особенное внимание на адреса давай на завтра отложим? у меня уже полчетвертого
1
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
|
08.10.2015, 01:30 [ТС] | 25 |
ValeryS, видимо это особенность Awesomium, раз один метод работает, а её дочерний нет.
Добавлено через 22 секунды ValeryS, хорошо, спс. До завтра)
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
08.10.2015, 01:40 | 27 |
1
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
|
08.10.2015, 01:41 [ТС] | 29 |
ValeryS, http://www.awesomium.com/
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|
08.10.2015, 09:46 | 30 |
Похоже тут проблема в том, что этот WebView не thread safe. И нельзя его использовать в разных потоках.
Если я прав, то ограничение тут имеет те же причины, что в Qt, где нельзя напрямую вызывать функции работы с GUI из других потоков, т.к. это может привести к неконсистентности очереди сообщений и других данных приложения.
0
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
|
08.10.2015, 10:13 [ТС] | 31 |
DrOffset, а как это можно обойти, если мне требуется вызывать кучу однотипных функций, через промежуток времени(Sleep)? Выполнение такого кода в основном потоке создает другой эффект
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|
08.10.2015, 11:06 | 32 |
Я могу тебе рассказать общий принцип, как это конкретно делать в Amesomium - смотри сам.
Общий принцип такой: в основном потоке должна быть очередь сообщений (посмотри, скорее всего на уже предоставляется фреймворком), все действия, которые происходят в программе, должны проходить через нее. В Qt, например, такая очередь уже есть (внутри QApplication). Допустим, мы выносим логику в отдельный поток, и хотим, чтобы прогресс выполнения этой логики отображался на экране. Напрямую функции работы с GUI вызвать нельзя, но можно поместить событие (отобрази то и то) в очередь основного потока, с помощью защищенной объектом синхронизации функции. Когда основной поток дойдет до выполнения этого события, то все нужное появится на экране. При этом замирания интерфейса не будет, т.к. все события из очереди выполняются в естественном порядке, а небольшая задержка на синхронизацию при добавлении в очередь не будет заметна глазу, т.к. занимает считанные наносекунды.
1
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
|
08.10.2015, 12:43 [ТС] | 33 |
DrOffset, с помощью таймера сделал. Спасибо)
0
|
08.10.2015, 12:43 | |
08.10.2015, 12:43 | |
Помогаю со студенческими работами здесь
33
Передача переменных через Сокеты! Передача переменных через GET запрос Передача переменных через формы Передача переменных через GET запрос Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |