static void  UnloadMoban( BYTE* moban )
{
 delete [] moban;
}
static BOOL  SaveMoban( const char* strFile, const BYTE* moban, int moban_size )
{
 FILE*  fp = fopen( strFile, "wb" );
 if (fp == 0)
   return FALSE;
 fwrite( moban, 1, moban_size, fp );
 fclose( fp );
 return TRUE;
}

解决方案 »

  1.   

    function SaveMoBan(const strFile:PChar;const moban:PByte;moban_size:Integer):Boolean;
    var
      FHandle:THandle;
    begin
      FHandle:=FileOpen( strFile, fmOpenWrite or fmShareDenyNone );
      FileWrite( Fhandle, moban, moban_size );
      FileClose( FHandle );
      Result:=True;
    end;
      

  2.   

    procedure UnloadMoban(moban:PByte);
    begin
      //delete   []   moban;
      //这里根据申请时所使用的方法
      //比如GetMem:FreeMem(moban);
      Dispose(moban);//假定是使用new申请
    end;function SaveMoban(const strFile: PChar; const moban: PByte; moban_size:Integer ):BOOL;
    var
      fp:Integer;
    begin
      Result := false;
      fp := fileopen(strFile,fmOpenWrite);
      if (fp = -1) then
        Exit;
      filewrite(fp, moban^, moban_size );
      fileclose(   fp   );
      Result := TRUE;
    end;