Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

Открыть новую тему     Написать ответ в эту тему

data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаем новые возможности и баги
Просьба писать только про Delphi 2009 и выше - по остальным версиям есть соответствующая тема.
Вопросы вареза здесь не обсуждаются !!!
См. также:
Известные важные баги Delphi 2010:

Описание________________________________________________ Исправлено Решение/Альтернатива_____________________
  1. Внимание !  Деинсталляция D2010 нарушает работу D2007 и D2009 !  
При деинсталляции удаляются CC3280MT.DLL и CC3290MT.DLL из Windows\System32,   необходимые для работы D2007 и D2009 соответственно.
Сделайте резервные копии
  2. Code Formatter не работает, если не инсталлирован пакет моделирования.   В нем также присутствует множество багов. Используйте с осторожностью.   1.   JEDI CodeFormat 2.44 SVN Snapshot (~750Kb)   Требуются JCL и JVCL  
2.GExperts with Formatter
  3. Не работает F1 в Object Inspector Update 2   IDEFixPack 2.9 от Andreas Hausladen
(dev. snapshots)
  4. Если IDE начинает падать с сообщением "Out of resources", возможно, что поврежден .res файл проекта. Удалить его, запустить IDE, открыть проект - новый .res файл будет создан автоматически.
  5. В редакторе не работает Class Completion, если в декларируемом классе есть поля с шаблонами. Перед декларированием поля добавить public или private и т.д.
  6. TTrayIcon.ShowBalloonHint() не работает на ОС ниже Vista [QC 77561] Update 2 * Установить Update 2   * ИЛИ почитать о причинах и решении проблемы на форуме embarcadero и в QC   * ИЛИ воспользоваться альтернативой, например Cooltray 4.4.0
  ...      


Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 14:28 26-08-2009 | Исправлено: data man, 18:27 06-08-2010
marser

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tanaseduard

Цитата:
Проблема возникает если и базовый класс и наследники распиханы по пакетам, оказалось что пакет с базовым классом обязательно должен присутствовать в группе проектов.
 
В свое время, у меня не получилось реализовать визуальное наследование из bpl. Как не старался, но если в dfm наследника стоит inherited, то требуется наличие формы предка в проекте.

Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 08:55 09-03-2011 | Исправлено: marser, 08:56 09-03-2011
tanaseduard



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
marser
У меня вроде получилось. Но вот только dfm предка должен присутствовать в проектной группе, тогда можно будет редактировать сами формы. А если она будет отсутствовать в проекте, но будут прописаны пути - будет только компилиться.

Всего записей: 518 | Зарегистр. 21-11-2009 | Отправлено: 09:04 09-03-2011
marser

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tanaseduard

Цитата:
Но вот только dfm предка должен присутствовать в проектной группе, тогда можно будет редактировать сами формы.

Это нормальная работа с bpl?

Цитата:
А если она будет отсутствовать в проекте, но будут прописаны пути - будет только компилиться.

И код будет размещён в exe (dll), а не в bpl.  

Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 09:49 09-03-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не подскажет ли кто знает, можно ли с помощью кода на Delphi выяснить устанновленную в системе скорость автоповтора клавиатуры и интервал задержки перед автоповтором?  
Эти параметры легко уставливаются в Control Panel / Keyboard, но вот как программно узнать их значения?

Всего записей: 1528 | Зарегистр. 16-01-2006 | Отправлено: 15:42 09-03-2011
marser

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ludens
Прочитать значения из реестра
[HKEY_CURRENT_USER\Control Panel\Keyboard]
"KeyboardDelay"="0" - Задержка перед началом повтора  
"KeyboardSpeed"="31" - Скорость повтора

Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 15:57 09-03-2011 | Исправлено: marser, 15:57 09-03-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
marser
спасибо, разобрался.
Еще через Windows.pas оказалось возможно:

Код:
SystemParametersInfo(SPI_GETKEYBOARDDELAY, 0, @KeyboardDelay, 0);
SystemParametersInfo(SPI_GETKEYBOARDSPEED, 0, @KeyboardSpeed, 0);
 

Только непонятно, в каких единицах измерены этот интервал и эта скорость. Не знаешь, как перевести их в миллисекунды?

Всего записей: 1528 | Зарегистр. 16-01-2006 | Отправлено: 17:53 09-03-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сам себе отвечу.
Значения в миллисекундах можно получить так:

Код:
InitialDelay := 250 * (KeyboardDelay + 1);
RepeatDelay := Round(1000 / (2.5 + KeyboardSpeed * (30 - 2.5) / 31));
 

где KeyboardDelay: 0..3, KeyboardSpeed: 0..31.
 
Эта моя интерпретация основана на цифрах вот отсюда:
http://msdn.microsoft.com/en-us/library/ms724947.aspx
и на предположении о линейной зависимости параметров друг от друга

Всего записей: 1528 | Зарегистр. 16-01-2006 | Отправлено: 21:39 09-03-2011
Thritt



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер! возникла странная проблема:
 
На форме DbGrid, Query, Datasource и button
В таблице три поля: Num, name, value, я хочу при нажатии на кнопку пересчитать первое поле, чтобы числа были по порядку
 

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
k: integer;
begin
  query1.First;
  for k:=1 to query1.RecordCount do
  begin
    Query1.SQL.Clear;
    Query1.SQL.Add('UPDATE table.db SET num = '+inttostr(k));
    Query1.ExecSQL;
    query1.Next;
  end;
 
  Query1.SQL.Clear;
  Query1.SQL.Add('SELECT * FROM table.db');
  Query1.open;
end;

 
приложение компилируется, запускается, а при нажатии на кнопку выдается ошибка:
Project Project1.exe raised exception class EDatabaseError with message 'Query1: Cannot perform this operation on a closed dataset'.  
 
Что не так?

Всего записей: 79 | Зарегистр. 10-07-2006 | Отправлено: 22:30 09-03-2011
JAPWork

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Thritt
Так писать нельзя. Вы один Query1 пытаетесь использовать одновременно для двух разных вещей. А именно - двигаетесь по выборке и апдейтите каждую запись.
Кроме того, даже если Вы опишете еще один Query (например - Query2) и обеспечите его правильную привязку к базе данных, то все равно ваш "update" будет апдейтить все записи в таблице "к" раз и закончит присвоением всем записям в таблице значения поля Num равным количеству записей в таблице. Отсутствует уникальный ключ для каждой записи, который должен был бы использоваться в секции WHERE вашего Update.
Да и последовательность открытия запроса по выборке у Вас нарушена. То есть - вначале нужно открыть запрос, а потом делать First.

Всего записей: 474 | Зарегистр. 12-02-2003 | Отправлено: 23:28 09-03-2011 | Исправлено: JAPWork, 23:32 09-03-2011
Thritt



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JAPWork
 А как бы мне реализовать такую таблицу?
 
Добавлено:
Может быть вообще есть какое-то другое решение? я создаю таблицу paradox 7. мне просто надо чтобы в поле num были числа по порядку. Если поставить тип этого поля как autoincrement то при удалении какой нибудь записи из середины - пересчета номеров не происходит (((  

Всего записей: 79 | Зарегистр. 10-07-2006 | Отправлено: 23:36 09-03-2011
JAPWork

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Thritt
Первое, что приходит в голову - это вообще отказаться от Query. Просто открыть таблицу в режиме Edit, затем последовательно читать ее и обновлять поле Num.

Всего записей: 474 | Зарегистр. 12-02-2003 | Отправлено: 07:30 10-03-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, есть ли возможность программно включить/выключить лампочку NumLock, не меняя режим клавиатуры. Ну, в смысле, чтоб лампочка была независима от режима клавиатуры.

Всего записей: 1528 | Зарегистр. 16-01-2006 | Отправлено: 19:31 14-03-2011
ashqelon

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите плс!!!  
Странная ситуация, в некоторых проектах Embarcadero RAD Studio XE при компиляции создается папка \Debug\Win32 и Unit1.dcu и там же .exe
если удалить, после компиляции появляется опять.
Где это настраивается?  
 

Всего записей: 697 | Зарегистр. 10-06-2007 | Отправлено: 19:48 14-03-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ashqelon
Project/Options/Delphi Compiler,
параметры Output Directory и Unit Output Directory

Всего записей: 1528 | Зарегистр. 16-01-2006 | Отправлено: 19:52 14-03-2011
ashqelon

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ludens
стояло .\$(Config)\$(Platform)
что должно быть?
Почему-то только с некоторыми проектами такая беда, а строчку .\$(Config)\$(Platform) я не менял после установки

Всего записей: 697 | Зарегистр. 10-06-2007 | Отправлено: 20:06 14-03-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ashqelon

Цитата:
что должно быть?  

просто сделай там пусто. Только сделай это в конфигурации Base, а то оно будет появляться опять.

Всего записей: 1528 | Зарегистр. 16-01-2006 | Отправлено: 20:19 14-03-2011
ashqelon

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ludens все получилось!! сенкс!!
 

Всего записей: 697 | Зарегистр. 10-06-2007 | Отправлено: 20:23 14-03-2011
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ludens
Цитата:
Подскажите, пожалуйста, есть ли возможность программно включить/выключить лампочку NumLock, не меняя режим клавиатуры. Ну, в смысле, чтоб лампочка была независима от режима клавиатуры.

Скорее всего нельзя.
 
add: V1s1ter
В отдельных случаях может и можно, но я сильно сомневаюсь, что это применимо к современным радио-клавам.

Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 20:44 14-03-2011 | Исправлено: Frodo_Torbins, 21:44 14-03-2011
V1s1ter



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Скорее всего можно.
 
Ludens

Цитата:
Подскажите, пожалуйста, есть ли возможность программно включить/выключить лампочку NumLock, не меняя режим клавиатуры. Ну, в смысле, чтоб лампочка была независима от режима клавиатуры.

Для некоторых клавиатур это стандартная функция тиа сбережения заряда батарей - бред но где-то видел. Горение или не горение индикатора определяется значением в порте (номер не помню), так же если не ошибаюсь тот же порт отвечает за Caps  и ScrolLock. Но могу ошибатся давно пользовал в далеком 1991. В http://www.whitetown.com/ru/misc/ng/techhelp/ есть Tech Help 6.0 - это справожник по программированию железа, запускать из под MS DOS. Если ошибся извини, как писал давно дело было.

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 21:37 14-03-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V1s1ter
Вот и мне кажется, что как-то можно. По крайней мере, с лампочкой CapsLock можно точно. Например, программа Puto Switcher при некоторых настройках делает это самопроизвольно: лампочка не горит, а клавиатура печатает капслоком и наоборот.
Но разбираться в портах как-то не хочется, а хочется на халяву найти пару строчек готового решения.
 
Добавлено:
Вот еще одно подтверждение нашел. Симпатичная программулька HddLed Indicator умеет управлять свечением лампочки ScrollLock, не переключая режима клавиатуры:
14.03.png

Всего записей: 1528 | Зарегистр. 16-01-2006 | Отправлено: 21:57 14-03-2011 | Исправлено: Ludens, 22:29 14-03-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru