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

» Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)

Автор: InSe0F
Дата сообщения: 01.02.2010 18:44
с иконками уж сам разобрался) отбой
Автор: vez
Дата сообщения: 01.02.2010 20:56
А нельзя ли изменять размеры фонтов в IDE? Или только в редакторе можно менять?
Автор: VadimLou
Дата сообщения: 02.02.2010 02:14
vez

Цитата:
размеры фонтов в IDE

Для создаваемой формы ? (В реестре можно переназначить или создать свой пакет устанавливающий для форм по умолчанию нужный шрифт и раскладку)
Автор: vez
Дата сообщения: 02.02.2010 09:42

Цитата:
Цитата:
размеры фонтов в IDE

Для создаваемой формы ? (В реестре можно переназначить или создать свой пакет устанавливающий для форм по умолчанию нужный шрифт и раскладку)

Нет, я имел ввиду сам IDE, очень маленькие буквы в табах, инспекторе объектов и т.д.
У меня разрешение экрана 2560х1600, отсюда проблемы.
Автор: V1s1ter
Дата сообщения: 02.02.2010 10:09
Таже проблема, что и у vez

Цитата:
очень маленькие буквы в табах, инспекторе объектов и т.д.
У меня разрешение экрана 2560х1600, отсюда проблемы.

Может действительно есть штатное решение для IDE, поставить масштабирование или 150 DPI в шрифтах Windows прошу не предлагать.
Автор: mdid
Дата сообщения: 03.02.2010 18:42
Драсте
нужно отлавливать все эксепшны при запросах через ADO..дабы не помещать каждый запрос в try..except положил на форму ApplicationEvents и все эксепшны обрабатываю там...так вот при исключениях функция
GetLastError возвращает 0
EOleException(e).ErrorCode - нижний предел типа integer тоесть -21... и тд(не помню)
EOleException(e).Message - выводит саму ошибку (текст)
Так вот мне нужно получать только коды исключений...как их получить?

в общем себе же и отвечу..
в общем в ADOConnection есть событие ExecuteComplete и код ошибки можно получить через Error.NativeError
Автор: delover
Дата сообщения: 05.02.2010 19:47
Господа
Большое спасибо за 2010. Наконец то довелось увидеть, что исправлен менеджер акций. Меню теперь может быть более глубоким, чем это было раньше. Возможно найдутся люди которые скажут: "так себе новость". Для меня это самый крупный баг, который был исправлен за мою жизнь, с чем и поздравляю...
Автор: Frodo_Torbins
Дата сообщения: 09.02.2010 18:39
V1s1ter
С помощью небольшого хака можно установить DPI для отдельной проги. Кстати Аэро умеет сам масштабировать окна, без изменения DPI.
Автор: relictus
Дата сообщения: 17.02.2010 21:29
ПЛИЗ, помогите кто-нибудь с этим --> http://forum.ru-board.com/topic.cgi?forum=33&topic=8529&start=2260#9
Автор: psa1974
Дата сообщения: 17.02.2010 23:38
relictus

Цитата:
Порт задал, сделал Active, а в IdTCPServer1Execute пытался ловить пакет... Чую, что не так, вероятно надо еще юзать cв-ва IOHandler/Scheduler/Bindings?

Нюх у тебя хороший Действительно надо юзать IOHandler примерно [more=ТАК]
Код: procedure TMainForm.IdTCPServerExecute(AContext: TIdContext);
var s: string;
begin
// уже не помню, может эта строка и не нада, но у меня в проге она есть:
AContext.Connection.IOHandler.Host:= AContext.Connection.Socket.Binding.PeerIP;
// а дальше так:
// если в порт посылалась строка:
s:= AContext.Connection.IOHandler.ReadLn;
// если буфер данных:
AContext.Connection.IOHandler.ReadBytes(...);
// короче, посмотри, там еще есть методы ReadChar, ReadString, ReadCardinal и ряд других...
end;
Автор: moverast
Дата сообщения: 18.02.2010 05:50
доброго времени суток.
Прошу помочь с решением небольшой проблемы.
Написана программа в Delphi 2010 для работы с базой данных access 2007.
Но есть проблема в том, что программа не может подключиться к файлу БД, если в системе не установлен Office 2007(сам access не требуется, достаточно общих компонентов).
ошибка следующая: "Не удается найти указанный поставщик. Вероятно, он установлен неправильно."
Помогите решить эту проблему. Возможно достаточно таскать с собой какие-нибудь библиотеки. или установить какой-нибудь небольшой пакет в систему.
PS: пробовал MDAC устанавливать - не помогло.
Автор: relictus
Дата сообщения: 18.02.2010 07:38
psa1974
Данные - raw data, размер известен.
А какой IOHandler цеплять к серверу? Их там несколько видов
Автор: psa1974
Дата сообщения: 18.02.2010 08:11
relictus
Я никакой IOHandler не цеплял. Если посмотреть метод TIdCustomTCPServer.Startup, который вызывается при установке свойства Active:= true, то видно, что в случае, когда свойтсву IOHandler ничего не назначено, создается внутренний экземпляр класса TIdServerIOHandlerStack. И у меня при этом все работает замечательно.
Автор: relictus
Дата сообщения: 18.02.2010 08:38
psa1974
Ага, уже попробовал без ИОхэндлера - работает Вот только все контролы на форме после получения пакета фризяться Что-то еще надо прикрутить?
Автор: neznayka3
Дата сообщения: 18.02.2010 08:47
Предскажите литературу для проектирования больших приложений, применительно к Delphi. Магических кнопок у меня почти нет, все на функциях процедурах. А вот до классов еще не дорос.
Автор: psa1974
Дата сообщения: 18.02.2010 09:26
relictus

Цитата:
Вот только все контролы на форме после получения пакета фризяться

Видать у тебя размер пакетов большой.
Это особенность библиотеки Инди - она работает синхронно, т.е. в основном потоке.
Вариантов два:
1. собственно прием пакета выделить в отдельный поток.
2. Сделать как я у себя сделал: моя прога принимает файлы, передаваемые клиентом (эта же самая прога, другой экземпляр ). Дык вот я файлы передаю и принимаю файлы не одним пакетом (представь, что файл весит, например, 100 МБ) а блоками по 32768 байт, в итоге есть возможность в цикле вставлять Аппликатион.ПроцессМессажес... И все дышит...
Вероятно есть еще какой-то вариант, но я не в курсе...

Автор: relictus
Дата сообщения: 18.02.2010 09:56
psa1974

Цитата:
Видать у тебя размер пакетов большой.

360 байт
Нашел демку с асинхронным сервером, но там на 9-й инде, а в 10-ке таких компонет не нашел (пока)
Автор: psa1974
Дата сообщения: 18.02.2010 13:02
relictus

Цитата:
360 байт

Тогда странно... копеечный размер... У меня такого не наблюдалось... если покажешь, как делал, может чего и прояснится...
Автор: relictus
Дата сообщения: 18.02.2010 15:28
psa1974

Цитата:
если покажешь

См. личку.
Автор: Andrey128
Дата сообщения: 19.02.2010 07:01
Как в ран-тайме массово подменить класс в форме или датамодуле?
Например, я описал класс:

Код: type
TmyStringField = class(TStringField)
...
end;
Автор: VadimLou
Дата сообщения: 24.02.2010 01:36
Andrey128
класс -это абстракция ... подменять можно обьект (экземпляр класса), но как на меня - не нужно... т.к. сильно чревато ...

Откуда вообще ноги у такой задачи растут ?
Проще было бы в момент создания подменять конструктор класса ...
Автор: Andrey128
Дата сообщения: 24.02.2010 06:24
VadimLou

Цитата:
Откуда вообще ноги у такой задачи растут ?

Есть работающий проект IBX + Interbase.
Понадобилось возможность вводить ФИО и название улиц как на русском, так и на казахском языках. Сколько я не бился, у меня не получилось корректно хранить и выводить одновременно русские и казахские символы. По этой проблеме я спрашивал здесь.

И решил пойти другим путем, хранить в БД символы казахского языка в кодировке 1251, а при показе декодировать в Unicode. Этот механизм уже полгода как работает. Единственное неудобство, так это необходимо помнить, что при добавлении DataSet нужно не забывать в соответсвующих полях подменять объект TIBStringField на TmyStringField, описанным в предыдущем моём сообщении способом.

Сейчас нашел другое решение, я не подменяю объекты, а ставлю хук на методы TIBStringField.GetAsString и TIBXSQLVAR.GetAsString и там уже декодирую символы.

В идеале нужно переписать на FIB + Firebird - в этой связке Unicode поддерживается как надо, но проект слишком огромный.

Возможно слишком много и сумбурно написал, сорри.
Автор: eddoc
Дата сообщения: 25.02.2010 16:49
Кстати, может, имеет смысл внести в список выявленных багов D2010 и вот этот, связанный с обрезанием dfm-ок с кириллицей?
Автор: VadimLou
Дата сообщения: 25.02.2010 21:12
eddoc
http://qc.embarcadero.com/wc/qcmain.aspx?d=82199
Автор: yegorovpavel
Дата сообщения: 01.03.2010 20:27
Установил Delphi 2010 c нуля, появилась такая проблема с инди: если кинуть на форму idHTTP и попытаться скомпилировать, делфи ругается на ошибку в файлике IdCookieManager.pas:
[DCC Error] IdCookieManager.pas(118): E2010 Incompatible types: 'TIdCookieList' and 'TIdCookieDomainList'
[DCC Error] IdCookieManager.pas(172): E2003 Undeclared identifier: 'IsValidCookie'
[DCC Error] IdCookieManager.pas(236): E2010 Incompatible types: 'TIdCookieList' and 'TIdCookieDomainList'
[DCC Fatal Error] Unit4.pas(7): F2063 Could not compile used unit 'IdCookieManager.pas'

С чем может быть связано?
Автор: X11
Дата сообщения: 01.03.2010 22:12
С тем, что Indy - это один большой глюк. А также с тем, что в релизах дельфи поставляются не то чтобы бета, а даже альфа версии Indy. Если есть возможность, то сразу переходи на ICS. Со временем всё равно переедешь на ICS. И здесь пословица "Лучше позже, чем никогда" не уместна. Тогда уж лучше никогда.
Indy - лучшая реклама ICS (с).
Автор: spasius
Дата сообщения: 01.03.2010 22:21
yegorovpavel
решается простым обновлением Indy.
X11
ICS далеко не панацея. Там багов тоже хватает, а количество компонентов вообще как кот наплакал.
Оптимальный вариант исправленные компоненты Indy которые необходимы для работы. (это мое личное мнение, тоже не панацея)
Автор: X11
Дата сообщения: 01.03.2010 22:30

Цитата:
yegorovpavel
решается простым обновлением Indy.

Где опять же баги , да и не факт, что ещё и установить получится.


Цитата:
ICS далеко не панацея.

Может не далеко, но реальная панацея.
Автор: yegorovpavel
Дата сообщения: 01.03.2010 22:33
Не, ну я все понимаю, но чтобы не работало "из коробки", это как-то слишком =)
На ICS-то уже перешел, даж открыточку аффтару когда-то отправлял
Автор: spasius
Дата сообщения: 01.03.2010 22:40
X11
где у панацеи HTTP server? SMTP Relay демка вообще многими антивирями трояном считается. ДНС сервер на 2003-м или 2008-м Windows будет работать не скоро. Панацеей это не является. Это просто другой продукт с меньшим функционалам, ну и как следствие с меньшим числом ошибок.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Установка копоненты ZipTV


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