TTrayIcon BalloonHint

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Ответить
IceBeerg
незнакомец
Сообщения: 2
Зарегистрирован: 02.04.2013 11:41:49

TTrayIcon BalloonHint

Сообщение IceBeerg »

По сабжу: у компонента TTrayIcon не работает BalloonHint. Нашел как исправить - http://qc.embarcadero.com/wc/qcmain.aspx?d=77561
Вставляю в Модуль (Unit1.pas)

Код: Выделить всё

type
TTrayIcon = class(ExtCtrls.TTrayIcon)
public
   constructor Create(Owner: TComponent); override;
end;

и получаю на строке

Код: Выделить всё

constructor Create(Owner: TComponent); override;

unit1.pas(14,23) Error: Duplicate identifier "Owner"
unit1.pas(14,23) Hint: Identifier already defined in unit CLASSES at line 1769
unit1.pas(37,1) Fatal: There were 1 errors compiling module, stopping

Что я делаю не так и не туда?

Добавлено спустя 5 часов 17 минут 40 секунд:
Так
Duplicate identifier "Owner"
победил как constructor Create(AOwner: TComponent); override;
Далее соответственно код:

Код: Выделить всё

constructor TTrayIcon.Create(AOwner: TComponent);
var
  D: PNotifyIconData;
begin
  inherited Create(Owner);
  D := PPointer(DWord(Self) + $48)^;
  Assert(D^.cbSize = SizeOf(TNotifyIconData));
  if (Win32MajorVersion = 5) and (Win32MinorVersion = 0) then
   begin
    {Windows 2000}
    D^.cbSize := DWORD(@(PNotifyIconData(nil)^.guidItem));
   end
  else
  if (Win32MajorVersion = 5) and (Win32MinorVersion = 1) then
   begin
     {Windows XP}
     D^.cbSize := DWORD(@(PNotifyIconData(nil)^.hBalloonIcon));
   end;
end;

И получаю
unit1.pas(49,8) Hint: Conversion between ordinals and pointers is not portable
unit1.pas(54,48) Error: identifier idents no member "guidItem"
unit1.pas(60,49) Error: identifier idents no member "hBalloonIcon"
unit1.pas(89) Fatal: There were 2 errors compiling module, stopping

Дальше мозг не знает в какую сторону думать...
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Сообщение Ism »

Здесь пример как все сделать
http://code.google.com/p/vpnpptp/
IceBeerg
незнакомец
Сообщения: 2
Зарегистрирован: 02.04.2013 11:41:49

Сообщение IceBeerg »

Ism
Здесь пример как все сделать
http://code.google.com/p/vpnpptp/

Не нашел... Можно по конкретней?
alex_alex_alex1
постоялец
Сообщения: 207
Зарегистрирован: 15.10.2010 14:08:50

Сообщение alex_alex_alex1 »

По ссылке изучите как работает ponoff - там реализованы свои собственные балуны и хинты у TTrayIcon.
Ответить