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

Вниз

Редактор компоненты   Найти похожие ветки 

 
Supermagic   (2003-05-21 12:37) [0]

Мастаки почему может не реистрироваться редактор компоненты?


 
Игорь Шевченко   (2003-05-21 12:38) [1]

Из-за ошибки, я полагаю


 
Supermagic   (2003-05-21 12:41) [2]

Привожу весь код редактора, если можешь скажи где ошибка?
Я её не вижу!!!!! :)


unit Redactor;

interface

uses
Controls,windows,graphics,classes,SysUtils,
designintf,QStdCtrls,forms, vectorimage,
messages,menus,QDialogs,DesignEditors;

type
TVectorEditor = class(TComponentEditor)
private
procedure HiThere;
public
constructor Create(AComponent: TComponent; ADesigner: IDesigner);override;
procedure Edit; override;
procedure ExecuteVerb(Index: Integer); override;
function GetVerb(Index: Integer): string; override;
function GetVerbCount: Integer; override;
end;
//Процедура HiThere и будет показывать сообщение и изменять свойство Caption:
implementation

constructor TVectorEditor.Create(AComponent: TComponent; ADesigner: IDesigner);
begin
inherited Create(AComponent,ADesigner);
//if csDesigning in ComponentState then
// TGFFigure(AComponent).Designer:=ADesigner;
// ((ADesigner.ContainerWindow).Color:=clBlue;
// (ADesigner.ContainerWindow).Invalidate;
// ((ADesigner.ContainerWindow) ).OnMouseMove:=TGFFigure(AComponent).CDMouseDown;
end;

procedure TVectorEditor.HiThere;
begin
MessageDlg("Hi! It replaces Default Component Editor.",
mtInformation, [mbOK], 0);
//(Component as TVectorImage).Caption:="Hi!";
Designer.Modified;
end;
//Процедуры Edit и ExecuteVerb только вызывают HiThere:

procedure TVectorEditor.Edit;
begin
HiThere;
end;
procedure TVectorEditor.ExecuteVerb(Index: Integer);
begin
if Index = 0 then HiThere;
end;
//Процедуры GetVerb и GetVerbCount определяют вид контекстного меню:

function TVectorEditor.GetVerb(Index: Integer): string;
begin
result:="&Get message ..."
end;
function TVectorEditor.GetVerbCount: Integer;
begin
result:=1;
end;
//Здесь в контекстное меню добавляется один пункт "Get message :".

//Редактор Компонент готов.

//Необходимо зарегистрировать новый Редактор Компонент, это делается аналогично регистрации Редактора Свойств, только проще:

procedure Register;
begin
RegisterComponents("Samples", [TVectorImage]);
RegisterComponentEditor(TVectorImage, TVectorEditor);
end;

end.


 
Юрий Зотов   (2003-05-21 14:30) [3]

> Supermagic
> почему может не реистрироваться редактор компоненты?

Он регистрируется процедурой Register, верно? Верно.

А как Вы полагаете, кем, откуда и как может быть вызвана процедура Register, если вне Вашего модуля она недоступна?

Я полагаю, никем, ниоткуда, и никак. Что и наблюдается.


 
VaS   (2003-05-21 16:38) [4]

ЮЗ тонко намекает, что в секцию interface нужно поместить procedure Register;



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

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

Наверх





Память: 0.45 MB
Время: 0.01 c
14-26775
Александр из Минска
2003-05-22 22:19
2003.06.09
Выезжающая панель


14-26676
I_C_E_
2003-05-24 20:28
2003.06.09
Как правильно вычислить


14-26659
vidiv
2003-05-24 03:01
2003.06.09
Посоветуйте HTTP Прокси(Кеш), и Почтовый сервер


14-26655
AlexHHH
2003-05-23 16:40
2003.06.09
Запуск другого приложения на панели моей программы


14-26717
Vlad Oshin
2003-05-22 09:03
2003.06.09
ICQ - реальные случаи взлома из-за этого пейджера?





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