Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2012, 15:17   #1
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
Вопрос TDateTimePicker Windows 7 x64

Есть программка из одной формы, которая нормально работала и работает в Windows XP. В программке в том числе есть 2 компонента dtp1, dtp2 : TDateTimePicker, они используются для выбора периода.
Пользователь выбирает в комбоксе год, и исходя из выбранного года в dtp1, dtp2 устанавливаются mindate и maxdate (01.01.год и 31.12.год соответственно).
Код:
// передается год
procedure SetDatePeriod(Year: Word);
var
  v_dat1, v_dat2:TDateTime;
begin
  v_dat1:=StrToDate('01.01.1980');
  v_dat2:=StrToDate('31.12.2050');
  f1PR02vp_nc.dtp1.MinDate := v_dat1;
  f1PR02vp_nc.dtp1.Date := v_dat1;
  f1PR02vp_nc.dtp1.MaxDate := v_dat2;
  f1PR02vp_nc.dtp2.MinDate := v_dat1; // ВОТ НА ЭТОЙ СТРОЧКЕ ОШИБКА
  f1PR02vp_nc.dtp2.Date := v_dat1;
  f1PR02vp_nc.dtp2.MaxDate := v_dat2;
  f1PR02vp_nc.dtp1.Date := EncodeDate(Year, 1, 1);
  f1PR02vp_nc.dtp2.Date := EncodeDate(Year, 12, 31);
  f1PR02vp_nc.dtp1.MinDate := EncodeDate(Year, 1, 1);
  f1PR02vp_nc.dtp1.MaxDate := EncodeDate(Year, 12, 31);
  f1PR02vp_nc.dtp2.MinDate := f1PR02vp_nc.dtp1.MinDate;
  f1PR02vp_nc.dtp2.MaxDate := f1PR02vp_nc.dtp1.MaxDate;
end;
В WinXP работает норм, в Win7х64 первый раз отрабатывает норм, второй раз возникает ошибка, в указанной строчке. То есть в dtp1 все меняется, в dtp2 - ошибка "Failed to set calendar date or time". Не могу понять почему. dtp оба одинаковые
Код:
object dtp1: TDateTimePicker
    Left = 90
    Top = 35
    Width = 91
    Height = 24
    Date = 40544.000000000000000000
    Format = 'dd.MM.yyyy'
    Time = 40544.000000000000000000
    Enabled = False
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -13
    Font.Name = 'MS Sans Serif'
    Font.Style = []
    MaxDate = 55153.000000000000000000
    MinDate = 18264.000000000000000000
    ParentFont = False
    TabOrder = 5
    OnKeyPress = dtp1KeyPress
  end
  object dtp2: TDateTimePicker
    Left = 205
    Top = 35
    Width = 91
    Height = 24
    Date = 40585.000000000000000000
    Format = 'dd.MM.yyyy'
    Time = 40585.000000000000000000
    Enabled = False
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -13
    Font.Name = 'MS Sans Serif'
    Font.Style = []
    MaxDate = 55153.000000000000000000
    MinDate = 18264.000000000000000000
    ParentFont = False
    TabOrder = 6
    OnKeyPress = dtp2KeyPress
  end
Кто, что думает? Может сталкивались с особенностями DateTimePicker в Win7 ?
astecenko вне форума Ответить с цитированием
Старый 02.04.2012, 15:44   #2
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

потому что минимальный год в 7 это 1990
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 02.04.2012, 16:06   #3
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Поменял 01.01.1980 на 01.01.1999, ошибка та же там же :-(
astecenko вне форума Ответить с цитированием
Старый 03.04.2012, 00:38   #4
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

ни у кого ни каких идей нету по поводу данной проблемы?

Upd
нашёл вопрос в Королевстве с подобной проблемой но в Висте, правда ответа там тоже нету :-(

Последний раз редактировалось astecenko; 03.04.2012 в 09:03. Причина: дополнение
astecenko вне форума Ответить с цитированием
Старый 03.04.2012, 11:37   #5
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Нашёл решение проблемы, причем вчера оно мне где-то на просторах интернета уже попадалось, правда немного по другой ошибке. Дело оказалось в используемом мном стандартном XPManifest. Причем, я вчера когда читал про то что может быть связано с манифестом компонент сам с формы удалил, но в секции uses ссылка на XpMan осталась :-(
После удаления XpMan из uses программа заработала в Win7 без ошибок. Кто бы мог подумать...
astecenko вне форума Ответить с цитированием
Старый 03.04.2012, 21:00   #6
vbilez
Пользователь
 
Регистрация: 04.02.2009
Сообщений: 13
Смех

была точно такая же ситуация с xpman, и с idhttp(несовпадение версии компонента)
vbilez вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Wi-Fi в Windows 7 x64 russian-stalker Windows 4 12.07.2011 23:35
Windows 7 x64 СисТемникс Windows 7 13.09.2010 07:09
Windows x64 code signing f.hump Общие вопросы C/C++ 0 26.08.2010 20:32
Не устанавливает windows 7 x64 stenl1 Windows 2 19.08.2010 16:54