Ты бы сразу сообщил, как определяется в C# тип decimal
» Вопросы по Embarcadero RAD Studio XE5-XE8,10.x(Seattle, Berl
>> В C# есть тип decimal, а в Delphi есть полный аналог?
currency
http://msdn.microsoft.com/en-us/library/cc208367.aspx
PDecimal = ^TDecimal;
{$EXTERNALSYM tagDEC}
tagDEC = packed record
wReserved: Word;
case Integer of
0: (scale, sign: Byte; Hi32: Longint;
case Integer of
0: (Lo32, Mid32: Longint);
1: (Lo64: LONGLONG));
1: (signscale: Word);
end;
TDecimal = tagDEC;
{$EXTERNALSYM DECIMAL}
DECIMAL = TDecimal;
посмотрите так же: http://rvelthuis.de/zips/decimals.zip
currency
http://msdn.microsoft.com/en-us/library/cc208367.aspx
PDecimal = ^TDecimal;
{$EXTERNALSYM tagDEC}
tagDEC = packed record
wReserved: Word;
case Integer of
0: (scale, sign: Byte; Hi32: Longint;
case Integer of
0: (Lo32, Mid32: Longint);
1: (Lo64: LONGLONG));
1: (signscale: Word);
end;
TDecimal = tagDEC;
{$EXTERNALSYM DECIMAL}
DECIMAL = TDecimal;
посмотрите так же: http://rvelthuis.de/zips/decimals.zip
В опциях проекта есть чекбокс Enable runtime themes, который позволяет включить в exe-файл ресурс по имени Manifest. Это так называемый "манифест Windows XP", и по умолчанию он включается в любой проект Delphi под Windows. Про него можно найти и прочитать довольно много веб-страниц. Я их прочитал, но так и не понял: а зачем он сейчас нужен, этот манифест? Можно ли без него всегда обойтись или в каких-то случаях он необходим? В какие проекты его следует включать? Или это чистый пережиток прошлого, и на него вообще не надо обращать внимания?
Ludens
Manifest - это не только runtime themes. Это еще и права доступа (execution privileges), что гораздо важнее.
Manifest - это не только runtime themes. Это еще и права доступа (execution privileges), что гораздо важнее.
Цитата:
Это еще и права доступа
И что это значит? В каких случаях надо включать манифест в exe-файл, а в каких — необязательно?
Я не включаю вообще.
Манифест в любой момент можно применить. Просто кинуть его в папку с программой. Имя ему должно быть "имя_исполняемого_файла.manifest"
Манифест в любой момент можно применить. Просто кинуть его в папку с программой. Имя ему должно быть "имя_исполняемого_файла.manifest"
Цитата:
Манифест в любой момент можно применить. Просто кинуть его в папку с программой.
Но зачем, зачем? Зачем это делать? Зачем кидать его — хоть внутрь exe-файла, хоть в папку с программой? В каких случаях это может понадобиться? Существуют ли вообще такие случаи?
Ludens
например чтобы информировать систему, что для запуска нужны права администратора и запросить повышение привилегий
например чтобы информировать систему, что для запуска нужны права администратора и запросить повышение привилегий
Ну зачем-то же он существует?
Пусть программист сам решает. Я за то, чтобы не использовать его, пока он реально не нужен.
Пусть программист сам решает. Я за то, чтобы не использовать его, пока он реально не нужен.
Манифест - это описание данного конкретного PE-executable. Предназначен для идентификации файла и некоторых других целей, которые подробней описаны в MSDN
http://msdn.microsoft.com/en-us/library/aa375365.aspx
с Delphi идет и встраивается в приложение по умолчанию файл манифеста. для windows, например, файл default_app.manifest
http://msdn.microsoft.com/en-us/library/aa375365.aspx
с Delphi идет и встраивается в приложение по умолчанию файл манифеста. для windows, например, файл default_app.manifest
Цитата:
>> В C# есть тип decimal, а в Delphi есть полный аналог?
currency
Currency - не подходит. Он не соотвествует типу Decimal
Цитата:
PDecimal = ^TDecimal;
Спасибо за информацию.
Цитата:
посмотрите так же: http://rvelthuis.de/zips/decimals.zip
Что-то не работает. Нужно будет самому разбираться с этим типом.
Ludens
Манифест описывает ваше приложение системе. Там может содержатся информация о том, какие из фишек системы приложение поддерживает, а какие нет, и что ему нужно для нормальной работы. Без манифеста ваше приложение будет выглядеть и функционировать так, будто его писали в 95-м.
Манифест описывает ваше приложение системе. Там может содержатся информация о том, какие из фишек системы приложение поддерживает, а какие нет, и что ему нужно для нормальной работы. Без манифеста ваше приложение будет выглядеть и функционировать так, будто его писали в 95-м.
Смотрю сейчас вебинар из московского офиса Embarcadero. Презентующий создал новое приложение на FM, бросил две кнопки. В итоге так и не смог скомпилировать приложение и отключил экран на 2 минуты
Erazor84, где идёт трансляция?
stanzdor
Уже закончился первый. Регистрироваться можно здесь на следующие:
http://forms.embarcadero.com/EM14Q3RUWebinarRADStudioXE6?elq=ce828a861c894fdfb9ec98e3dd06d501&elqCampaignId=1868
Уже закончился первый. Регистрироваться можно здесь на следующие:
http://forms.embarcadero.com/EM14Q3RUWebinarRADStudioXE6?elq=ce828a861c894fdfb9ec98e3dd06d501&elqCampaignId=1868
я вот интересуюсь, а эти вебинары можно где-нибудь посмотреть потом? все и в одном месте.
ego666
Обычно да. В начале трансляции об этом говорилось, но ссылку так и не дали. Скорее всего будет доступно чуть позже.
Обычно да. В начале трансляции об этом говорилось, но ссылку так и не дали. Скорее всего будет доступно чуть позже.
Цитата:
я вот интересуюсь, а эти вебинары можно где-нибудь посмотреть потом? все и в одном месте.
или хотя бы ссылки все собрать..
Казалось бы, абре выгодно все эти вебинары на видное место положить, но нет.. делаем все по русски, через..
Frodo_Torbins
Цитата:
Ну а в чем это конкретно будет проявляться? Я пробовал компилировать разные проекты с манифестом и без него — никакой разницы не заметил.
Цитата:
Без манифеста ваше приложение будет выглядеть и функционировать так, будто его писали в 95-м.
Ну а в чем это конкретно будет проявляться? Я пробовал компилировать разные проекты с манифестом и без него — никакой разницы не заметил.
Ludens
визуально, все контролы будут рисоваться в классическом стиле widnows
визуально, все контролы будут рисоваться в классическом стиле widnows
Ludens, delphi автоматом подключает свой манифест по умолчанию.
посмотрите в хексредакторе свой ехе'шник, увидите строку:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> ...
чёго он вам дался?
лично я использую его только когда нужно дать софту права администратора.
посмотрите в хексредакторе свой ехе'шник, увидите строку:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> ...
чёго он вам дался?
лично я использую его только когда нужно дать софту права администратора.
Ludens
Без манифеста:контролы не покрытые скинами и нестандартной отрисовкой (системные диалоги) будут выглядеть как в 95 винде
ваша прога не сможет запросить права администратора
винда применит к вашей проге виртуализацию файловой системы. Ваша прога не будет падать при попытках писать в Program Files и прочие защищенные папки, но все файлы будут попадать в специальную папочку в каталоге юзера, и будут не видны нормальным приложениям.
винда будет врать вашей проге про DPI, а масштабирование интерфейса будет происходить с помощью алгоритмов увеличения изображения -> размытая картинка на мониторах с высоким DPI (ультрабуки, 2К и 4К моники)
ваше приложение будет использовать древний, но совместимый менеджер системной памяти и прочих ресурсов. Из за этого оно будет работать медленнее чем если бы имело нормальный манифестСписок выше лишь вершина айсберга. Вот еще кое что: http://msdn.microsoft.com/en-us/library/windows/desktop/hh848036%28v=vs.85%29.aspx http://technet.microsoft.com/en-us/library/cc722305.aspx А вообще можно считать, что на свежих версиях винды каждая третья функция WinAPI будет выдавать не верные результаты.
Без манифеста:контролы не покрытые скинами и нестандартной отрисовкой (системные диалоги) будут выглядеть как в 95 винде
ваша прога не сможет запросить права администратора
винда применит к вашей проге виртуализацию файловой системы. Ваша прога не будет падать при попытках писать в Program Files и прочие защищенные папки, но все файлы будут попадать в специальную папочку в каталоге юзера, и будут не видны нормальным приложениям.
винда будет врать вашей проге про DPI, а масштабирование интерфейса будет происходить с помощью алгоритмов увеличения изображения -> размытая картинка на мониторах с высоким DPI (ультрабуки, 2К и 4К моники)
ваше приложение будет использовать древний, но совместимый менеджер системной памяти и прочих ресурсов. Из за этого оно будет работать медленнее чем если бы имело нормальный манифестСписок выше лишь вершина айсберга. Вот еще кое что: http://msdn.microsoft.com/en-us/library/windows/desktop/hh848036%28v=vs.85%29.aspx http://technet.microsoft.com/en-us/library/cc722305.aspx А вообще можно считать, что на свежих версиях винды каждая третья функция WinAPI будет выдавать не верные результаты.
Frodo_Torbins
ой, вот, действительно, спасибо за содеражательный ответ!
Из него, в общем, следует, что манифест надлежит ОБЯЗАТЕЛЬНО вставлять в exe-файл или класть рядом с ним в виде отдельного документа. Иначе проявятся неприятности в виде — давай пока только об этом — старомодного изображения контролов.
Я очень долго пытался получить это старомодное изображение, компилируя тестовый проект без манифеста. Но у меня ничего не получилось. Windows 7, Delphi XE. Хоть с манифестом, хоть без — окно программы и все контролы выглядят совершенно одинаково. Подскажи, пожалуйста, каким образом можно воспроизвести те старомодные (как в 95) контролы и диалоги, о которых ты говоришь.
ой, вот, действительно, спасибо за содеражательный ответ!
Из него, в общем, следует, что манифест надлежит ОБЯЗАТЕЛЬНО вставлять в exe-файл или класть рядом с ним в виде отдельного документа. Иначе проявятся неприятности в виде — давай пока только об этом — старомодного изображения контролов.
Я очень долго пытался получить это старомодное изображение, компилируя тестовый проект без манифеста. Но у меня ничего не получилось. Windows 7, Delphi XE. Хоть с манифестом, хоть без — окно программы и все контролы выглядят совершенно одинаково. Подскажи, пожалуйста, каким образом можно воспроизвести те старомодные (как в 95) контролы и диалоги, о которых ты говоришь.
Frodo_Torbins
Уважаемый, я первый голосую за то, чтобы Вам статейку "прибросить". Тема эта, на самом деле, насколько занимательна - настолько же и не особо раскрыта. Мало кому как бы нужно, мало кто замечает, а оно - есть. По причине "незаметности".
Сорвите покровы !
Будет интересно !
P.S. По возможности, конечно.
Уважаемый, я первый голосую за то, чтобы Вам статейку "прибросить". Тема эта, на самом деле, насколько занимательна - настолько же и не особо раскрыта. Мало кому как бы нужно, мало кто замечает, а оно - есть. По причине "незаметности".
Сорвите покровы !
Будет интересно !
P.S. По возможности, конечно.
Ludens
У меня на XE2 и Windows 8 разница очень заметна. Если отключить манифест кнопки становятся серыми и без градиента. Вы точно используете стандартные компоненты типа TButton, а не, например, DevExpress?
У меня на XE2 и Windows 8 разница очень заметна. Если отключить манифест кнопки становятся серыми и без градиента. Вы точно используете стандартные компоненты типа TButton, а не, например, DevExpress?
Да уж, сейчас заметил, как работает опция проекта в среде (и даже комманд-компиляторе) Дельфи2010 "Enable runtime schemes".
Прикольно.
Frodo_Torbins
Даешь всеобъемлющую статью !
Прикольно.
Frodo_Torbins
Даешь всеобъемлющую статью !
Erazor84
Цитата:
Абсолютно точно. Только стандартные компоненты. Ненавижу скины, градиенты и прочую анимацию.
Цитата:
Вы точно используете стандартные компоненты типа TButton, а не, например, DevExpress?
Абсолютно точно. Только стандартные компоненты. Ненавижу скины, градиенты и прочую анимацию.
Ludens, вот вам пишешь, а вы или не читаете или хрен поймешь.
если мы говорим про xe6 то в папке bin дельфи удалите файл default_app.manifest
создайте пустой проект с кнопкой, запустите и увидите ваш простой стиль
если мы говорим про xe6 то в папке bin дельфи удалите файл default_app.manifest
создайте пустой проект с кнопкой, запустите и увидите ваш простой стиль
stanzdor
У него ХЕ. Должно, по идее, галочкой включаться и отключаться в настройках проекта.
Можно конечно и удалить файл \RAD Studio\8.0\bin\default_app.manifest, только ведь без него ведь потом не получиться манифест опять включить. Тогда уж лучше переименовать в что-то типа default_app.manifest_old, чтобы можно было вернуть всё как было.
У него ХЕ. Должно, по идее, галочкой включаться и отключаться в настройках проекта.
Можно конечно и удалить файл \RAD Studio\8.0\bin\default_app.manifest, только ведь без него ведь потом не получиться манифест опять включить. Тогда уж лучше переименовать в что-то типа default_app.manifest_old, чтобы можно было вернуть всё как было.
Цитата:
Ктонибудь уже столкнулся с багом Fullscreen в FireMonkey в XE6?
Если форму в runtime сделать fullscreen, у неё только пропадает рамка.
Возможно речь идет о том, что было исправлено в первом апдейте для RADXE6:
"Window can't be maximized with styles, which have custom window border"
http://edn.embarcadero.com/article/43893
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
Предыдущая тема: Отмена встречи в Outlook из Excel VBA
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.