Недавно добавленные исходники

•  TDictionary Custom Sort  522

•  Fast Watermark Sources  884

•  3D Designer  1 816

•  Sik Screen Capture  1 461

•  Patch Maker  1 470

•  Айболит (remote control)  1 393

•  ListBox Drag & Drop  1 168

•  Доска для игры Реверси  21 448

•  Графические эффекты  1 343

•  Рисование по маске  1 283

•  Перетаскивание изображений  1 094

•  Canvas Drawing  965

•  Рисование Луны  806

•  Поворот изображения  762

•  Рисование стержней  805

•  Paint on Shape  491

•  Генератор кроссвордов  755

•  Головоломка Paletto  662

•  Теорема Монжа об окружностях  846

•  Пазл Numbrix  611

•  Заборы и коммивояжеры  839

•  Игра HIP  552

•  Игра Go (Го)  525

•  Симулятор лифта  544

•  Программа укладки плитки  506

•  Генератор лабиринта  561

•  Проверка числового ввода  521

•  HEX View  597

•  Физический маятник  523

•  Задача коммивояжера  557

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



TWinControl.Caption. Теряется маленькая русская буква я



Автор: Kuznetsov Alexey

Описание глюка:

  1. Создаешь новый проект;
  2. кидаешь на форму TGroupBox;
  3. в ObjectInspectore выбираешь свойство Caption;
  4. изменяшь его на: я (обязательно маленькая!!!) или на любую строку которая начинается с я;
  5. запускаешь на выполнение;
  6. при выполении у меня на TGroupBox-е не было никакого Caption;

Куда-то он теряет Caption если он начинается с маленькой "я"... Этот глюк будет наблюдаться у всех компонент, включая TForm, которые наследуются от TWinControl

Причем этот глюк можно поймать, и не запуская проект на выполнение. Делаем так:

  1. View Form as Text
  2. View Text as Form
и вуаля: Caption(ы) который начинался с маленькой буквы "я", ушел в гору... Видимо, что то в механизме чтения из dfm не переварило этой буковки.

Проверено на 3-х разных компьютерах.

КОММЕНТАРИЙ

Проверено (D5, NT4, W2K).

Выяснилось следующее.

  1. Проблема имеет место быть только под Windows 2000 (возможно, по наследству осталась и в Windows XP).
  2. Анализ содержимого exe-файла тестового примера (компилировалось под W2K) показал, что символ "я" в Caption присутствует.
  3. Отладка показала, что исчезновение происходит при вызове функции API CreateWindowEx, один из параметров которой - Caption, содержащий первым символом русскую "я" (код $FF в кодировке Win1251).

Очевидно, ошибка кроется в недрах подсистемы Win32 операционки Windows 2000.

Комментарий от SHKoder'a

при большом желании это можно победить так:

procedure TForm1.FormCreate(Sender: TObject);
begin
  GroupBox1.Caption := 'я';
  GroupBox2.Caption := #1103;
end;

но глюк конешно есть и в WinXP и в Win2K3, в Delphi6 и Delphi7





Похожие по теме исходники

Long Caption

No Title / Caption




Copyright © 2004-2022 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте   Facebook   Ссылка на Twitter   Ссылка на Telegram