Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.25;
Скачать: CL | DM;

Вниз

Знатоки, помогите с компонентом. Пишу в первый раз, пример с 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.131 c
8-82338
eXed
2003-05-26 13:01
2003.09.25
Как получить ширину одного символа в пикселях?


1-82278
Dober_m@N
2003-09-15 05:27
2003.09.25
ini ограничение на размер


1-82206
Юлия
2003-09-12 14:25
2003.09.25
treeview cо стилем TVS_CHECKBOXES


3-82033
Юлия
2003-09-03 09:46
2003.09.25
Вопрос по SELECT


3-82118
Relaxxx
2003-09-03 14:48
2003.09.25
Пронумеровать строки в ДБГриде, причем когда я делаю сортировку..