|
Вопрос # 2 367/ вопрос открыт / |
|
Здравствуйте, эксперты!
Помогите не знаю что не так в коде ,, вот код который помогли мне вы но не могу его скомпилировать, а нужен спид батон - компонент для курсовой работы помогите срочно плизззз!!!!!!! добавляю скрин с ошибками...
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
Приложение: Переключить в обычный режим- unit LinkSpeedButton;
-
- interface
-
- uses
- SysUtils, Classes, Controls, Buttons, ShellAPI;
-
- type
- TLinkSpeedButton = class(TSpeedButton)
- private
- FWebLink:string;
- function GetWebLink: string;
- procedure SetWebLink(const AValue: string);
-
- protected
- { Protected declarations }
- public
- procedure Click; override;
- constructor Create(AOwner: TComponent); override;
- published
- property weblink:string read GetWebLink write SetWebLink;
- end;
-
- procedure Register;
-
- implementation
-
- procedure Register;
- begin
- RegisterComponents('Standard', [TLinkSpeedButton]);
- end;
- function THyperLinkSpeedButton.GetWebLink: string;
- begin
- Result:=FWebLink;
- end;
- procedure TLinkSpeedButton.SetWebLink(const AValue: string);
- begin
- FWebLink:=AValue;
- end;
- procedure TLinkSpeedButton.Click;
- begin
- if FWebLink <> '' then
- ShellExecute(handle,'open',PChar(FWebLink),nil,nil,SW_SHOW);
- inherited Click;
- end;
- constructor Create(AOwner: TComponent);
- begin
- Font.color := clBlue;
- end;
-
- end.
-
Примечание #1 (30 января 2009, 01:05): для SpedButton-a нужно переопределить или добавить один метод и одно свойство...
Если может есть подробная статья или литература рассматриваемая подробно создание компонентов то подскажите пожалуйста...
 |
Вопрос задал: ubyou (статус: Посетитель)
Вопрос отправлен: 30 января 2009, 00:54
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, ubyou!
первое, преобразовываем список uses где то до такого
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, shellapi;
Это решит проблему 1, 2, 5. а также, если не ошибаюсь и 4.
Проблема 3 и 6 решается одной правкой - добавить TLinkSpeedButton.
constructor TLinkSpeedButton.Create(AOwner: TComponent);
begin
Font.color := clBlue;
end;
Почему она сразу не попала в код - ума не приложу. в моих сорцах - на месте.
И по идеи должно всё работать.
По компонентам есть одна хорошая книга, правда некоторые злые языки называют её устаревшей, но своей актуальности она пока не потеряла - "Рэй Конопка - Создание оригинальных компонент в Delphi". Электронный вариант легко гуглиться.
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 30 января 2009, 02:49
Оценка за ответ: 5
Комментарий к оценке: Спасибо за помощь и терпение!!!Единственный кто помог в решении Задачи!!!
|
Мини-форум вопроса
Всего сообщений: 8; последнее сообщение — 31 января 2009, 05:53; участников в обсуждении: 2.
|
ubyou (статус: Посетитель), 30 января 2009, 01:01 [#1]:
А для SpedButton-a нужно переопределить или добавить один метод и одно свойство...
Если может есть подробная статья или литература рассматриваемая подробно создание компонентов то подскажите пожалуйста...
|
|
Вадим К (статус: Академик), 30 января 2009, 10:59 [#2]:
Ну так задача даже перевыполнена - добавили одно свойство, переопределили один метод и конструктор!
Галочка "подтверждения прочтения" - вселенское зло.
|
|
ubyou (статус: Посетитель), 30 января 2009, 18:55 [#3]:
Нее неполучается выполнить задачу((
При компиляции ругается на (handle) пишет что Undeclared idintifier uses ShellAPIесть и остальные тоже.. что делать незнаю нехотит работать и всё((( HELP !!!!
|
|
Вадим К (статус: Академик), 30 января 2009, 19:01 [#4]:
впишите вместо handle ноль
Галочка "подтверждения прочтения" - вселенское зло.
|
|
ubyou (статус: Посетитель), 30 января 2009, 19:07 [#5]:
С нулём Выдаёт при компиляции:
ERROR
Cannot debug project unless a host application is defined. Use the Run|Parametrs... dialog box
|
|
Вадим К (статус: Академик), 30 января 2009, 19:12 [#6]:
Вы что, пытаетесь юнит запустить? Его нельзя запустить.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
ubyou (статус: Посетитель), 30 января 2009, 19:15 [#7]:
Ок получилось, А неподскажите как создать пакет со своей кнопкой?
|
|
Вадим К (статус: Академик), 31 января 2009, 05:53 [#8]:
File-New... А там искать Packeges. Потом к нему надо будет добавить созданный юнит. Потом осталось нажать "компилировать" и "Инсталлировать".
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|