Форум: "Основная";
Текущий архив: 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.01 c