Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 153

/ вопрос открыт /

Здравствуйте уважаемые эксперты! При добавлении компонента TRunStrings появляется ошибка. Как ее исправить.

Приложение:
  1. unit RunStrings;
  2.  
  3. interface
  4. uses
  5. Windows, Messages, SysUtils, Classes, Controls, StdCtrls, Graphics,
  6. ExtCtrls, StrUtils;
  7.  
  8.  
  9. type
  10. TRunStrings = class(TCustomLabel)
  11. private
  12. FTimer: TTimer;
  13. FCanvas: TCanvas;
  14. FColor: TColor;
  15. procedure SetColor(cl: TColor);
  16. procedure MoveText(Sender: TObject);
  17. function GetSpeed: Integer;
  18. procedure SetSpeed(MSec: Integer);
  19. protected
  20. public
  21. constructor Create(AOwner: TComponent); override;
  22. destructor Destroy; override;
  23. published
  24. property AutoSize;
  25. property Alignment;
  26. property Transparent;
  27. property Wordwrap;
  28. property Caption;
  29. property Font;
  30. property Speed: Integer read GetSpeed write SetSpeed;
  31. property Color: TColor read FColor write SetColor;
  32. end;
  33.  
  34. procedure Register;
  35.  
  36. implementation
  37.  
  38. procedure Register;
  39. begin
  40. RegisterComponents('Samples', [TRunStrings]);
  41. end;
  42.  
  43. constructor TRunStrings.Create(AOwner: TComponent);
  44. var
  45. aRect: TRect;
  46. begin
  47. inherited Create(AOwner);
  48. FTimer := TTimer.Create(Self);
  49. FCanvas:=TCanvas.Create;
  50. aRect:=Rect(0,0,Width,Height);
  51. with FCanvas do
  52. begin
  53. Brush.Color:=FColor;
  54. FillRect(aRect);
  55. end;
  56. FTimer.OnTimer := MoveText;
  57. FTimer.Interval :=300;
  58. FTimer.Enabled := True;
  59. end;
  60.  
  61. destructor TRunStrings.Destroy;
  62. begin
  63. FTimer.Free;
  64. FCanvas.Free;
  65. inherited Destroy;
  66. end;
  67.  
  68. procedure TRunStrings.MoveText(Sender: TObject);
  69. begin
  70. Caption := RightStr(Caption, Length(Caption)-1) + Caption[1];
  71. end;
  72.  
  73. function TRunStrings.GetSpeed: Integer;
  74. begin
  75. Result := FTimer.Interval;
  76. end ;
  77.  
  78. procedure TRunStrings.SetSpeed(MSec: Integer);
  79. begin
  80. FTimer.Interval := MSec;
  81. end;
  82.  
  83. procedure TRunStrings.SetColor(cl: TColor);
  84. begin
  85. FColor:=cl;
  86. end;
  87.  
  88. end.


Leonardo Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Leonardo (статус: Посетитель)
Вопрос отправлен: 28 ноября 2007, 23:16
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 3; последнее сообщение — 29 ноября 2007, 15:46; участников в обсуждении: 3.
min@y™

min@y™ (статус: Доктор наук), 29 ноября 2007, 08:41 [#1]:

А что за ошибка и в какой строке исходника?
Мы ж тут не телепаты, штоб угадать-то. :)
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Feniks

Feniks (статус: Бакалавр), 29 ноября 2007, 09:52 [#2]:

Напишите, какая именно у Вас ошибка появляется, в каком месте, и какую версию Делфи Вы используете ?
Leonardo

Leonardo (статус: Посетитель), 29 ноября 2007, 15:46 [#3]:

При компиляции кода ошибок не происходит. Только при добавлении компонента на форму. Ошибка такая: "Canvas does not allow drawing"
P.S. У меня Delphi 7.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:25
Выполнено за 0.01 сек.