Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
14-67551
Y
2003-04-04 17:51
2003.04.21
Как показать свою вкладку в палитре компонентов?


14-67536
Михайлов Антон
2003-04-04 12:34
2003.04.21
---|Ветка была без названия|---


1-67306
Мыш
2003-04-09 02:05
2003.04.21
access violation


9-67082
nichtferstein
2002-11-19 22:21
2003.04.21
векторизация, bmp-формат


9-67068
Dev_c
2002-11-15 12:49
2003.04.21
Физика для авиасимулятора (КАК???)...