procedure Ship(ParentApplication: TApplication;ParentForm: TForm;AConn : TSocketConnection); export; stdcall;
var
  AllShipAgentsForm: TAllShipAgentsForm;
  DllProc: Pointer;
begin
  application:=Parentapplication;
  if (parentform.ActiveMDIChild<>nil) and (parentform.ActiveMDIChild.Name='AllShipAgentsForm') then exit;
  AllShipAgentsForm:=TAllShipAgentsForm.Create(ParentForm);
  AllShipAgentsForm.MyParentForm:=ParentForm;
  AllShipAgentsForm.MyParentApplication:=ParentApplication;
  AllShipAgentsForm.Show;
end;
procedure DLLUnloadProc(Reason: dword); register;
begin
  if  reason=DLL_PROCESS_DETACH then
  begin
    Application:=DllApplication;
  end;
end;
function NewShip(ahandle:Thandle):Tform;stdcall;
begin
  application.Handle:=ahandle;
  if not assigned(NewshipForm) then
    NewshipForm:=TNewshipForm.Create(application);
  dm.ship.Append;
  result:=NewshipForm;
end;
procedure shipmodule(lmHandle: THandle;AConn : TSocketConnection);stdcall;
var
  i:integer;
begin
  application.Handle:=lmhandle;
  if assigned(dm) then
  begin
    dm.Free;
  end;
  dm:=Tdm.Create(nil);
  for i:=0 to dm.ComponentCount-1 do
  begin
    if dm.components[i] is TClientDataSet then
      (dm.components[i] as TClientDataSet).RemoteServer := AConn;
  end;
end;
exports
  Ship,NewShip,Shipmodule;
begin
  DllApplication:=Application;
  DLLProc := @DLLUnloadProc;
end.
这个为什么会出现
unsafe type 'pointer';
unsafe code'@operator'提示,为什么呢
我以前做的几个都没有,现在做的几个都有,那是为什么
望高手帮忙一下,有急用