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

Вниз

Знатоки, помогите с компонентом. Пишу в первый раз, пример с Edit   Найти похожие ветки 

 
Layner   (2003-09-15 08:26) [0]

, задача, ввод только цифр и запятая, код весь ниже, но вот в чём то проблема, не знаю, не появляется на вкладке компонентов, хотя компилирует.


unit QYEdit;

interface

uses
Windows, SysUtils, Classes, QControls, QStdCtrls;

type
TYEdit = class(TEdit)
private
procedure KeyPress(var Key: Char); override;
{ Private declarations }
protected

{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;

procedure Register;

implementation

procedure TYEdit.KeyPress(var Key: Char);
begin
if (Key in["."]) then key:=",";
if not (Key in[",","0".."9", Chr(VK_BACK)]) then key:=#0;
end;

procedure Register;
begin
RegisterComponents("Test", [TYEdit]);
end;

end.



 
MBo   (2003-09-15 08:30) [1]

чтобы компонент появился в палитре, он должен находиться в пакете (dclusr50, например), и пакет нужно перекомпилировать.


 
Layner   (2003-09-15 08:51) [2]

В пакете он есть, вот больше волнует, правильно ли сам комп. написан.

package test_pack;

{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$IMPLICITBUILD OFF}

requires
rtl,
vcl,
visualclx;

contains
QYEdit in "QYEdit.pas";

end.


Странно, дома в этом же пакете ещё был тестовый компонент, а этот я к нему приаттачил, и второй, т.е. этот, не инсталировался, и всё... Сейчас проинсталировался на работе...

Знатоки, а правильно ли сам компонент написан? Перекрыл я событие KeyPress. И всё. Мож. что то не хватает?


 
Layner   (2003-09-15 09:00) [3]

Выкинул не нужные пробные, компоненты из этого пакета, теперь остался этот один, в таком виде, в каком здесь. После инсталяции, на палитре его видно, Delphi перегружаешь, компанента нет...


 
MBo   (2003-09-15 09:00) [4]

Еще раз: Пакет нужно перекомпилировать!


 
Layner   (2003-09-15 09:03) [5]

Я удаляю просто в delphi/Projects/bpl файл test_pack.bpl, Delphi при загрузке спрашивает, искать ли этот пакет в будующем,- нет, и потом снова компилирую.


 
Layner   (2003-09-15 09:07) [6]

..и инсталирую. По моему точно ошибка в комп. потому что простые компоненты, с кнопкой у меня работают, и после инсталяции никуда не исчезают.... А это с Edit исчезает кудато...


 
Layner   (2003-09-15 09:30) [7]

Можно про установку не писать, интересует только unit QYEdit, не могу понять, правильно ли в своих начинаниях..


 
Layner   (2003-09-15 10:47) [8]

Подскажите!!!


 
wl   (2003-09-15 10:58) [9]

а не проще обработчик приписать к обычному едиту в программе?
если их 150 на форме, привязываешь один обработчик ко всем.

можно использовать TMaskEdit.

Если тебя интересует конкретно проблема с установкой компонентов в палитру, то удаляй их правильно, через средства делфи, а не удалением *.bpl


 
Layner   (2003-09-15 11:35) [10]

Не, меня не интересует (пока) удаление, мне интересно, самый верхний код компанента правилен или нет? Может что не так, вот и не отображается в Delphi.

Компьютер рабочий, не домашний, ставлю в первый раз -- и компонент не видно, хотя когда ставил была закладка, создалась. Делфи перегружаю, и всё, нет закладки.


 
ZEE   (2003-09-15 11:57) [11]

type TKeyPressEvent = procedure (Sender: TObject; var Key: Char) of object;
property OnKeyPress: TKeyPressEvent;

а эти строки не наводят не на какие мысли?
и еще что это QControls, QStdCtrls ?


 
Layner   (2003-09-15 13:07) [12]

QControls, QStdCtrls
От TEdit.

Хелп!!! Подскажите, как бы вы написали этот компонент.



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

Форум: "Основная";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.011 c
6-82359
danatelo
2003-07-29 14:20
2003.09.25
FTP сервер


1-82255
-= Demon =-
2003-09-15 13:13
2003.09.25
CreateProcess в WinXP


7-82529
Snake7
2003-07-14 18:35
2003.09.25
Как узнать серийный номер процессора?


6-82362
borg
2003-07-28 07:47
2003.09.25
компонент NMsmtp


1-82173
SH
2003-09-15 19:19
2003.09.25
Рисуем...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский