Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];

Вниз

Выравнивание по левому краю в TEdit   Найти похожие ветки 

 
solenko ©   (2006-04-10 17:21) [0]

Здравствуйте!
Пытаюсь сделать выравнивание в эдите по левому краю следующим образом:

type
 TNumEdit = class(TCustomEdit)
 public
   procedure CreateParams(var Params: TCreateParams); override;
end;

procedure TNumEdit.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams(Params);
 Params.Style := Params.Style ES_RIGHT or ES_NUMBER;
end;


Все вроде бы прекрастно работает, но только если форма создается на этапе старта приложения. Если же форма создается на этапе выполнения, то вылазит Access violation...

Проблемма именно в TNumEdit, так как после удаления их с формы все работает прекрастно.


 
Юрий Зотов ©   (2006-04-10 22:41) [1]

1. Пропущено OR. Видимо, только здесь, а не в рабочем коде.
2. Похоже, ошибка где-то в другом месте. Пройдите отладчиком.


 
solenko ©   (2006-04-11 13:16) [2]

Пропущено только здесь.
Отладчиком не могу пройтись, т.к. сделал это в виде компонента. Ошибка вылетает на вызове
inherited Create(AOwner);
формы, на которой расположен компонент (TNumEdit).
Тут приведен afrnbxtcrb полный код компонента -- никаких других свойств/методов я не переопределял. Может необходимо явно определить конструктор в TNumEdit?


 
Юрий Зотов ©   (2006-04-11 13:47) [3]

> Отладчиком не могу пройтись, т.к. сделал это в виде компонента.

??????????????
И что? Разве отладчиком нельзя пройти по коду компонента? Или формы? Тем более, что ошибка вылетает в run-time.

> Ошибка вылетает на вызове
> inherited Create(AOwner);
> формы, на которой расположен компонент (TNumEdit).

1. Если Вы не проходили код отладчиком, то как Вы это определили? А если проходили, то почему не включить "Use debug DCUs" (в опциях проекта), не нажать на этой строчке F7 (а не F8) и не локализовать ошибку ТОЧНО?

2. Если Вы не замещали конструктор формы, то как Вы ухитрились вставить в него эту строчку? А если замещали, то где его код?

3. Что-то Вы недоговариваете, потому что вот так все прекрасно работает:

type
 TNumEdit = class(TCustomEdit)
 protected
   procedure CreateParams(var Params: TCreateParams); override;
 end;

procedure TNumEdit.CreateParams(var Params: TCreateParams);
begin
 inherited;
 Params.Style := Params.Style or ES_RIGHT or ES_NUMBER
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 TNumEdit.Create(Self).Parent := Self
end;



Страницы: 1 вся ветка

Форум: "Компоненты";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.038 c
15-1163756467
Rule
2006-11-17 12:41
2006.12.03
Откуда блин брекпоинт, достал уже меня ...


15-1163507354
Юрий Зотов
2006-11-14 15:29
2006.12.03
В Base64 и обратно


15-1163136696
DelphiN!
2006-11-10 08:31
2006.12.03
Сегодня начальство попросило написать свою OC


15-1163602446
Energizer
2006-11-15 17:54
2006.12.03
Кому-нибудь приходилось иметь дело с ВКТ-7 ?


3-1159693344
Antoxa2005
2006-10-01 13:02
2006.12.03
Подскажите, как программно "сжать" базу данных FB?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский