Текущий архив: 2003.04.21;
Скачать: CL | DM;
Вниз
Миграция Д6 на Д7 Найти похожие ветки
← →
BorisUK © (2003-04-09 08:30) [0]Ругается на объявление
FNewProc:pointer;
как же быть... старый исходник не компилится.
Подскажите уважаемые... где читать про жто или как туперь работать с переменными такого типа?
← →
Oxy © (2003-04-09 09:58) [1]На такую декларацию FNewProc:pointer; не может ругаться никакая Делфа начиная с Борланд Паскаля. Ошибка не там. Надо постмотреть сам исходник что бы сказать точнее.
← →
BorisUK © (2003-04-09 12:29) [2]Сам ничего не пойму... В Д6 компилится нормально...
а вот в Д7
[Warning] USvc3.pas(29): Unsafe type "Pointer"
[Warning] USvc3.pas(57): Unsafe type "FNewProc: Pointer"
[Warning] USvc3.pas(57): Symbol "MakeObjectInstance" is deprecated
[Warning] USvc3.pas(58): Unsafe type "FOldProc: Pointer"
[Warning] USvc3.pas(58): Unsafe type "Pointer"
[Warning] USvc3.pas(59): Unsafe type "FNewProc: Pointer"
[Warning] USvc3.pas(66): Unsafe type "FOldProc: Pointer"
[Warning] USvc3.pas(67): Symbol "FreeObjectInstance" is deprecated
[Warning] USvc3.pas(67): Unsafe type "FNewProc: Pointer"
[Warning] USvc3.pas(124): Unsafe typecast of "Pointer" to "TTest"
[Warning] USvc3.pas(153): Comparing signed and unsigned types - widened both operands
[Warning] USvc3.pas(154): Unsafe type "FOldProc: Pointer"
Это ошибки которые возникают при компиляции...
Вот модуль...
unit USvc3;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ShellAPI, Menus, ExtCtrls;
const
WM_ICONNOTIFY=WM_USER+1234;
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
PopupMenu1: TPopupMenu;
Stop1: TMenuItem;
Properties1: TMenuItem;
Timer1: TTimer;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Stop1Click(Sender: TObject);
procedure Properties1Click(Sender: TObject);
private
{ Private declarations }
FHI:TIcon;
Fterminated:boolean;
// FOldProc,FNewProc:pointer;
procedure HookProc(var Message:TMessage);
procedure WMIconNotify(var Message:TMessage); message WM_ICONNOTIFY;
public
{ Public declarations }
constructor Create(AOwner:TComponent); override;
destructor Destroy; override;
end;
var
Form1: TForm1=nil;
implementation
uses USvc1, USvc2, uTaskBar;
{$R *.DFM}
var
TaskbarRestart:integer=0;
constructor TForm1.Create(AOwner: TComponent);
begin
inherited;
FHI:=TIcon.Create;
FHI.Handle:=LoadIcon(HInstance,"MYICON");
TaskBarAddIcon(Handle,0,FHI.Handle,WM_ICONNOTIFY,"Midas service");
TaskbarRestart:=RegisterWindowMessage("TaskbarCreated");
// FNewProc:=MakeObjectInstance(HookProc);
// FOldProc:=pointer(GetWindowLong(Handle,GWL_WNDPROC));
// SetWindowLong(Handle,GWL_WNDPROC,integer(FNewProc));
end;
destructor TForm1.Destroy;
begin
TaskbarDeleteIcon(Handle,0);
FHI.Free;
// SetWindowLong(Handle,GWL_WNDPROC,integer(FOldProc));
// FreeObjectInstance(FNewProc);
inherited;
end;
procedure TForm1.WMIconNotify(var Message: TMessage);
var
P:TPoint;
begin
if Message.lParam=WM_LBUTTONDOWN then begin
Show;
BringWindowToTop(Handle);
repeat
Application.HandleMessage;
until FTerminated;
FTerminated:=False;
end;
if Message.lParam=WM_RBUTTONDOWN then begin
GetCursorPos(P);
PopupMenu1.Popup(P.X,P.Y);
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Hide;
FTerminated:=True;
end;
procedure TForm1.Stop1Click(Sender: TObject);
var
Test:boolean;
begin
Service1.ServiceStop(nil,TEst);
end;
procedure TForm1.Properties1Click(Sender: TObject);
begin
Show;
BringWindowToTop(Handle);
repeat
Application.HandleMessage;
until FTerminated;
FTerminated:=False;
end;
procedure TForm1.HookProc(var Message: TMessage);
begin
if Message.Msg=TaskbarRestart then TaskBarAddIcon(Handle,0,FHI.Handle,WM_ICONNOTIFY,"Midas service");
// Message.Result:=CallWindowProc(FOldProc,Handle,Message.Msg,Message.wParam,Message.LParam);
end;
end.
В нем отключены 6 строк - это там где используются переменные объявленные как Pointer.
Почему... тем более что говорят что не должно быть так???
← →
DVM © (2003-04-09 12:34) [3]Это не ошибки, а предупреждения. С ними можно жить. Все скомпилиться должно.
← →
BorisUK © (2003-04-09 13:17) [4]ок... спасибо Заморочился я просто...
Обычно же после повторной компиляции предупреждения убирались с окна ошибок... а тут нет.
Блин... Д7 - привыкать надо :))))
← →
Tano © (2003-04-09 19:15) [5]Сейчас не помню точно по пунктам, но где-то в дебрях свойства проекта есть список с галачками предупреждений для компиляции (новинка Delphi 7). Кажись последние три отвечают за технологию .Net (ето ее предупреждения). У меня та же неприятность была - избавился.
Страницы: 1 вся ветка
Текущий архив: 2003.04.21;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.015 c