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

•  DeLiKaTeS Tetris (Тетрис)  4 643

•  TDictionary Custom Sort  6 647

•  Fast Watermark Sources  6 428

•  3D Designer  9 365

•  Sik Screen Capture  6 753

•  Patch Maker  7 144

•  Айболит (remote control)  7 155

•  ListBox Drag & Drop  6 011

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

•  Графические эффекты  7 339

•  Рисование по маске  6 626

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

•  Canvas Drawing  5 875

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

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

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

•  Paint on Shape  2 907

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

•  Головоломка Paletto  3 056

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

•  Пазл Numbrix  2 547

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

•  Игра HIP  2 230

•  Игра Go (Го)  2 164

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

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

•  Генератор лабиринта  2 679

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

•  HEX View  2 665

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

 
скрыть

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