Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Embarcadero RAD Studio XE5-XE8,10.x(Seattle, Berl

Автор: kot3
Дата сообщения: 05.04.2015 07:22
LadyOfWood

Цитата:
А в чем проблема добавить нужные функции руками?

Руками это как?
И где брать библиотеки?
Автор: SuPriTo
Дата сообщения: 05.04.2015 10:17

Цитата:
Руками это как?

На object pascal можно импортировать функции из других dll. Собственно это и нужно сделать.

Цитата:
И где брать библиотеки?

Информацию о функциях брать из нужного API на сайте MSDN.
Автор: NeoAnomaly
Дата сообщения: 05.04.2015 11:31
По media foundation можно глянуть этот проект https://code.google.com/p/mfpack-media-foundation/
Автор: yura371
Дата сообщения: 05.04.2015 12:49
У меня есть запрос:
IdHTTP1.ConnectTimeout:=5000;
IdHTTP1.ReadTimeout:=5000;
try
IdHTTP1.Get('http://my1.ru/Update.txt');
connected := True;
Except
connected := false;
end;


Я специально имитирую медленное соединение.
Почему не срабатывает таймаут? В Windows всё нормально через 5 сек дальше программа выполняется, но в Android виснет(пытается все соединиться, не обращая внимания на таймаут).
Автор: dred2k
Дата сообщения: 05.04.2015 13:56
Подключение MSDN 9.0 (VS 2008) к D2010
С возможностью контекстного поиска

По умолчанию со средой идет справка Windows SDK аж от 2006 года выпуска, что довольно
прискорбно (далее речь пойдет о D2010 - именно на ней все проверялось, однако, все это с
высокой степенью вероятности будет справедливо и для линейки XE вплоть до XE6,
а возможно и XE7 - нет возможности проверить).

Среда использует движок справки MSHelp 2 (файлы *.hxs). Самой свежей версией MSDN,
основанной на данном движке, является MSDN 9.0 для VS 2008 SP1 от 2008 года
(возможно, есть свежее - ?).

[more=Рецепт с подробностями...]
1. Закрываем студию.

2. Качаем (я брал английский) и ставим MSDN 9.0, для наших целей достаточно только "Win32 and COM Development".

3. Переходим в каталог справки <DelphiHome>\Help\Doc\

4. Удаляем хелп по WinSDK из стандартной поставки:
- подкаталог PSDK переименовываем или удаляем вовсе
- в файле Master.HxT комментируем или вырезаем блок, начинающийся с:

Код: <HelpTOCNode Title="Microsoft Windows Platform SDK"
Автор: dred2k
Дата сообщения: 05.04.2015 19:29
Windows SDK Help 2008 (MSDN 9.0) для XE8
С возможностью контекстного поиска
#
[more=Подробности ...]Windows SDK Help из поставки MSDN 9.0 (VS 2008 SP1),
сконвертированный в *.chm - для использования в XE8.
После регистрации данная справка будет доступна
для контекстного поиска в редакторе.

1. Скопировать куда угодно.
2. Закрыть IDE
3. chm-install-(xe8).bat - регистрация в XE8.IDE
4. Проверка контекстного поиска:
- в редакторе введите "PostMessage"
- нажмите F1
- должна появиться справка "PostMessage Function" (winui.chm)
5. chm-uninstall-(xe8).bat - удаление регистрации

Хинт: файлы справки *.chm регистрируются в XE8.IDE
согласно параметрам ветки реестра:
HKCU\Software\Embarcadero\BDS\16.0\Help\HtmlHelp1Files[/more]
Автор: LadyOfWood
Дата сообщения: 05.04.2015 19:31

Цитата:
Руками это как?
И где брать библиотеки?

Берешь хедеры из MSDN, и перепысываешь на Delphi Language. В принципе рутинная работа и нечего сложного.
Автор: kot3
Дата сообщения: 05.04.2015 19:40
LadyOfWood

Цитата:
Берешь хедеры из MSDN, и перепысываешь на Delphi Language

Вы видимо не внимательно читали. Речь идет о сишной части студии. Там ничего переписывать не надо. Только кода самих функций то нет, соответственно линкер ругается на отсутствующие функции.
Автор: NeoAnomaly
Дата сообщения: 05.04.2015 21:30
kot3 ну, если речь о билдере, тогда вот такая ссыль http://docwiki.embarcadero.com/RADStudio/XE6/en/IMPLIB.EXE,_the_Import_Library_Tool_for_Win32
Автор: mrUlugbek
Дата сообщения: 06.04.2015 09:51
Бесплатные букмарк эесперт
http://parnassus.co/delphi-tools/bookmarks-documentation/
Автор: SuPriTo
Дата сообщения: 06.04.2015 11:58

Цитата:
Бесплатные букмарк эесперт

А чем он лучше стандартного?
Автор: nyinick
Дата сообщения: 06.04.2015 13:01
SuPriTo, мне к примеру в стандартном не хватает того что бы букмарки сохранялись после закрытия проекта, что бы после переоткрытия я мог продолжить работать с требуемыми мне закладками. И так для каждого проекта независимое сохранение.
Если указанный выше букмарк эксперт умеет такое делать, тогда было бы круто
Автор: protoror
Дата сообщения: 06.04.2015 14:31
там же http://parnassus.co/open-source/tfiremonkeycontainer/
миксер vcl и fmx никто не юзал и чем он лучше MonkeyMixer https://github.com/LaKraven/MonkeyMixer
Автор: NeoAnomaly
Дата сообщения: 06.04.2015 16:53
protoror это вообще разные по сути проекты Один добавляет в IDE возможность добавлять формы(VCL or FM не зависимо от типа проекта), а другой - VCL компонент, являющийся контейнером, способным обеспечивать правильную работу FM контролов.
Автор: yura371
Дата сообщения: 06.04.2015 19:15
Вот код:
IdHTTP1.ConnectTimeout:=5000;
IdHTTP1.ReadTimeout:=5000;
try
IdHTTP1.Get('http://my1.ru/Update.txt');
connected := True;
Except
connected := false;
end;

Если соединение медленное, то в Windows всё нормально через 5 сек дальше программа выполняется, но в Android виснет, пытается все соединиться, не обращая внимания на таймаут.
Почему он не срабатывает?
Автор: LadyOfWood
Дата сообщения: 06.04.2015 20:17

Цитата:
Если соединение медленное, то в Windows всё нормально через 5 сек дальше программа выполняется, но в Android виснет, пытается все соединиться, не обращая внимания на таймаут.

Indy под Windows работает поверх WinSock2, для Android'а что используется?
Автор: yura371
Дата сообщения: 06.04.2015 21:44

Цитата:
Вот код:  
IdHTTP1.ConnectTimeout:=5000;  
IdHTTP1.ReadTimeout:=5000;  
    try  
      IdHTTP1.Get('http://my1.ru/Update.txt');  
      connected := True;  
    Except  
      connected := false;  
    end;  
 
Если соединение медленное, то в Windows всё нормально через 5 сек дальше программа выполняется, но в Android виснет, пытается все соединиться, не обращая внимания на таймаут.
Почему он не срабатывает?


Все нашел проблему. Добавил в отдельный поток, как описано в этой теме: http://fire-monkey.ru/topic/30-fonovoe-vypolnenie-operatcii-bez-zamorazhivani/
Автор: LadyOfWood
Дата сообщения: 06.04.2015 22:36
yura371

Цитата:
Все нашел проблему.

А причем тут это? Блокирующие сокеты всегда лучше выносить в отдельный поток, к тайауту это отношения не имеет.
Автор: nyinick
Дата сообщения: 06.04.2015 23:41
yura371, и что теперь получается в случае если не удаётся соединиться? Поток через 5 секунд (таймаут) завершается или как и в случае с одним потоком продолжает соединяться не обращая внимание на таймаут?
Автор: LadyOfWood
Дата сообщения: 07.04.2015 00:26
nyinick
Что-то мне подсказывает что все тоже самое, но теперь он этого просто не замечает.
Автор: NeoAnomaly
Дата сообщения: 07.04.2015 07:32
LadyOfWood самое главное, чтобы не забывал подчищать за собой

Кстати в XE8 появились новые классы. Indy всётаки изначально под виндовые сокеты точили, а здесь минимальная прослойка над нативом, на сколько я понимаю.
Автор: protoror
Дата сообщения: 07.04.2015 15:58
ждем проверки тормозов на андроиде
Автор: yura371
Дата сообщения: 07.04.2015 22:02

Цитата:
yura371, и что теперь получается в случае если не удаётся соединиться? Поток через 5 секунд (таймаут) завершается или как и в случае с одним потоком продолжает соединяться не обращая внимание на таймаут?


Таймауты успешно обрабатываются Поток через 5 секунд завершается. Всё работает.

P.S. После 5 сек(может и раньше, если файл успевает скачаться) срабатывает процедура "DoTaskFinished",
с сообщением 'Выполнение задачи окончено', что говорит о успешном завершении.

Автор: mudrii
Дата сообщения: 08.04.2015 09:10
Подскажите как сделать, чтобы на иконке приложения в панели задач W7 и >демонстрировался процесс копирования или чего-нибудь другого в виде индикации как при установке, например, XE8 - на фоне иконки идет процессинг в виде зеленой заливки.

Спасибо.
Автор: vez
Дата сообщения: 08.04.2015 09:33

Цитата:
Подскажите как сделать, чтобы на иконке приложения в панели задач W7 и >демонстрировался процесс копирования или чего-нибудь другого в виде индикации как при установке, например, XE8 - на фоне иконки идет процессинг в виде зеленой заливки.

используй TTaskBar компоненту
Автор: kaz_av
Дата сообщения: 08.04.2015 09:38
mudrii
Если версия дельфей свежая смотри компонент TTaskBar, иначе гугли о ITaskBar.
Автор: NeoAnomaly
Дата сообщения: 08.04.2015 09:42
mudrii, в delphi, по-моему, с версии xe5 есть TTaskbar. Если дельфя младше, можно и на прямую через winapi, там не сложно Примеры можно глянуть здесь: http://www.drbob42.com/examines/examinC5.htm

Тут компоненты, можно юзать в младших версиях delphi
Автор: begemottio
Дата сообщения: 08.04.2015 10:42
XE8 наглухо зависает, когда я пытаюсь поискать что-то в справке. Ну ё-моё, такой косяк. Можно с этим как-то совладать?
Автор: mudrii
Дата сообщения: 08.04.2015 10:55
NeoAnomaly
kaz_av
vez

Спасибо за помощь
Автор: AlekXL
Дата сообщения: 08.04.2015 12:59

Цитата:
Блокирующие сокеты всегда лучше выносить в отдельный поток, к тайауту это отношения не имеет

мне религия не позволяет такие сокеты.
А есть ли не-блокирующая библиотека, работающая на Win32 и Android?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129

Предыдущая тема: Отмена встречи в Outlook из Excel VBA


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.