--- oup/current/Tools/BinEdit.pas 2007/05/12 13:22:11 177 +++ oup/current/Tools/BinEdit.pas 2007/06/15 15:12:11 217 @@ -2,9 +2,10 @@ unit BinEdit; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, Template, StdCtrls, ExtCtrls, VirtualTrees, Grids, Wrapgrid, - MPHexEditor, VTHeaderPopup, Menus, StrUtils, Clipbrd, - Data, TypeDefs, ConnectionManager, Buttons; + Dialogs, VirtualTrees, Grids, Wrapgrid, MPHexEditor, StdCtrls, + Menus, VTHeaderPopup, ExtCtrls, Buttons, StrUtils, Clipbrd, + Data, TypeDefs, ConnectionManager, Template, + _BaseTemplate, _TemplateFile, _TemplateFileList; type TForm_BinEdit = class(TForm_ToolTemplate) @@ -21,6 +22,9 @@ type value_viewer_context_copyasstring: TMenuItem; value_viewer_context_copyashex: TMenuItem; VTHPopup: TVTHeaderPopupMenu; + panel_imexport: TPanel; + btn_export: TButton; + btn_import: TButton; procedure FormCreate(Sender: TObject); procedure NewFile(fileinfo: TFileInfo); @@ -184,7 +188,6 @@ function TForm_BinEdit.GetValue(datatype var Data: TByteData; i: Integer; - tempi: Integer; floatformat: TFormatSettings; begin floatformat.DecimalSeparator := '.'; @@ -222,6 +225,7 @@ begin 11: begin if Length(rawlist) > 0 then + begin for i := 0 to High(rawlist) do if rawlist[i].SrcOffset = offset then begin @@ -231,6 +235,9 @@ begin Result := 'unused'; Break; end; + if i > High(rawlist) then + Result := 'unused'; + end; end; 12: if hex.Data[offset] = 1 then @@ -753,7 +760,7 @@ var node: PVirtualNode; nodedata: PNodeData; rawinfo: TRawDataInfo; - form: TForm_ToolTemplate; + form: TForm_TemplateFileList; begin if VST.FocusedColumn = 3 then begin @@ -774,7 +781,7 @@ begin if rawinfo.RawSize > 0 then begin form := nil; - form := Form_Main.open_child('rawedit', ConID, fileid); + form := TForm_TemplateFileList(Form_Main.open_child('rawedit', ConID, fileid)); if Assigned(form) then TForm_RawEdit(form).LoadRaw(rawinfo); end; @@ -793,7 +800,7 @@ begin end; if (nodedata.DataType >= 100) and (nodedata.DataType <= 300) then begin - form := Form_Main.open_child('binedit', ConID, -1); + form := TForm_TemplateFileList(Form_Main.open_child('binedit', ConID)); if Assigned(form) then form.SetFileFilters(nodedata.Value, '', False); end;