编译出错(100分)

  • 主题发起人 主题发起人 新易
  • 开始时间 开始时间

新易

Unregistered / Unconfirmed
GUEST, unregistred user!
编译出现警告,[Warning] main.pas(627): Symbol 'MakeObjectInstance' is deprecated。
该如何解决,谢谢!
 
编译器不建议你使用该过程。麻烦您把相关上下文贴出来,光看这个东西是不行的。(10行以内)
 
MakeObjectInstance不推荐使用
简单点,就不要理会
想做好点,找个更好的代替它
 
To creation-zy:
procedure TMainForm.CreateWnd;
begin
inherited Createwnd;
FClientInstance := MakeObjectInstance(ClientWndProc);
FPrevClientProc := Pointer(GetWindowLong(ClientHandle, GWL_WNDPROC));
SetWindowLong(ClientHandle, GWL_WNDPROC, LongInt(FClientInstance));
end;

procedure TMainForm.ClientWndProc(var message:TMessage);
var
MyDC : hDC;
Ro, Co : Word;
begin
with Message do
case Msg of
WM_ERASEBKGND:
begin
MyDC := TWMEraseBkGnd(message).DC;
for Ro := 0 to ClientHeight div Bkbmp.Height do
for Co := 0 to ClientWIDTH div Bkbmp.Width do
BitBlt(MyDC, Co*Bkbmp.Width, Ro*Bkbmp.Height,
Bkbmp.Width, Bkbmp.Height,
Bkbmp.Canvas.Handle, 0, 0, SRCCOPY);
Result := 1;
end;
else
Result := CallWindowProc(FPrevClientProc, ClientHandle, Msg, wParam, lParam);
end;
end;

To MrMengyi:
那你能告诉我替代它的语句吗?
 
我知道答案了
 
后退
顶部