diff --git a/CommKrnl.dll b/CommKrnl.dll index d9d5dca..da97f81 100644 Binary files a/CommKrnl.dll and b/CommKrnl.dll differ diff --git a/MathKrnl.dll b/MathKrnl.dll index d6fc5de..5635ef7 100644 Binary files a/MathKrnl.dll and b/MathKrnl.dll differ diff --git a/TSCrypt.dll b/TSCrypt.dll index 0da62aa..a942919 100644 Binary files a/TSCrypt.dll and b/TSCrypt.dll differ diff --git a/TSLDebugModule.dll b/TSLDebugModule.dll index 324bd10..790e8ec 100644 Binary files a/TSLDebugModule.dll and b/TSLDebugModule.dll differ diff --git a/TSLInterp.dll b/TSLInterp.dll index e7ee1ce..622ca4c 100644 Binary files a/TSLInterp.dll and b/TSLInterp.dll differ diff --git a/TSLPlugin.dll b/TSLPlugin.dll index 94497d3..f7945b1 100644 Binary files a/TSLPlugin.dll and b/TSLPlugin.dll differ diff --git a/TSLR.dll b/TSLR.dll index 95f27d8..f5946dc 100644 Binary files a/TSLR.dll and b/TSLR.dll differ diff --git a/TSSVRAPI.DLL b/TSSVRAPI.DLL index 7205b3b..5028901 100644 Binary files a/TSSVRAPI.DLL and b/TSSVRAPI.DLL differ diff --git a/funcext/tvclib/cstructurelib.tsf b/funcext/tvclib/cstructurelib.tsf index b7aa506..111ee3e 100644 --- a/funcext/tvclib/cstructurelib.tsf +++ b/funcext/tvclib/cstructurelib.tsf @@ -2127,14 +2127,14 @@ begin @param(data)(array) 结构体信息数组,参考 cstructurelib中 tslarraytocstructcalc %% @param(baselen)(integer) 基准位置默认为0 %% @param(ssize)(integer) 大小 %% - @param(pack)(integer) 对其方式 windows 默认8 linux 默认4 %% + @param(pack)(integer) 对其方式 默认8 %% **} if not ifnumber(baselen)then baselen := 1; //最小长度 if not ifnumber(ssize)then ssize := 0; //大小 if not ifnumber(pack)then begin {$ifdef linux} - pack := 4; + pack := 8; {$else} pack := 8; //对齐 {$endif} diff --git a/funcext/tvclib/parserch.tsf b/funcext/tvclib/parserch.tsf index 838cf08..23ae05a 100644 --- a/funcext/tvclib/parserch.tsf +++ b/funcext/tvclib/parserch.tsf @@ -407,7 +407,41 @@ begin begin indx++; if tokens[indx,2]="//" or tokens[indx,2]="/*" then continue; - tkv := tokens[indx,0]; + tkv := tokens[indx,0]; + if tkv="(" then //碰到括号,为函数指针 + begin + flg := 0; + while indx0 then begin ftarget := _wapi.gtk_target_entry_new("text/uri-list",4,1); - wg := _wapi.GTK_WIDGET(h); - _wapi.gtk_drag_dest_set(wg,GTK_DEST_DEFAULT_DROP,ftarget,1,GDK_ACTION_COPY); - _wapi.g_signal_connect_data(wg,"drag-motion",get_instance_i(thisfunction(do_motion)),0,0); - _wapi.g_signal_connect_data(wg,"drag-data-received",get_instance_i(thisfunction(do_received)),0,0); - _wapi.g_signal_connect_data(wg,"drag-drop",get_instance_i(thisfunction(do_drop)),0,0); + ftargetsids := array(); + //wg := _wapi.GTK_WIDGET(h); + wg := h; + _wapi.gtk_drag_dest_set(wg,GTK_DEST_DEFAULT_DROP,ftarget,1,GDK_ACTION_PRIVATE); + ftargetsids[0] := _wapi.g_signal_connect_data(wg,"drag-motion",get_instance_i(thisfunction(do_motion)),0,0,0); + ftargetsids[1] := _wapi.g_signal_connect_data(wg,"drag-data-received",get_instance_i(thisfunction(do_received)),0,0,0); + ftargetsids[2] := _wapi.g_signal_connect_data(wg,"drag-drop",get_instance_i(thisfunction(do_drop)),0,0,0); end - return inherited; + return inherited; end - procedure do_drop(w:pointer;ctx:pointer;x:integer;y:integer;tm:integer;ud:pointer);cdecl; + function do_drop(w:pointer;ctx:pointer;x:integer;y:integer;tm:integer;ud:pointer):integer;cdecl; begin return true; end @@ -8517,7 +8521,7 @@ type tgtk_ctl_scroll_window = class(tgtk_ctl_object) end function do_motion(w:pointer;c:pointer;x:integer;y:integer;tm:integer;d:pointer):integer;cdecl; begin - _wapi.gdk_drag_status(c,GDK_ACTION_COPY,tm); + _wapi.gdk_drag_status(c,GDK_ACTION_PRIVATE,tm); return true; end function widgetsizechanged(h_,w_);override; //大小改变 @@ -8756,6 +8760,7 @@ type tgtk_ctl_scroll_window = class(tgtk_ctl_object) end private ftarget ; + ftargetsids; fscrollinfos; ftimerobj;ftimerfptr; Fscrolltimedo; @@ -8860,6 +8865,19 @@ type tgtk_ctl_scroll_window = class(tgtk_ctl_object) end function Destroy();override; begin + if ftarget then //处理拖拽问题 + begin + h := handle; + _wapi.gtk_target_entry_free(ftarget); + ftarget := nil; + if h then + begin + for i,v in ftargetsids do + begin + _wapi.g_signal_handler_disconnect(h,v); + end + end + end inherited; if ftimerobj then begin @@ -8868,10 +8886,9 @@ type tgtk_ctl_scroll_window = class(tgtk_ctl_object) ftimerfptr := 0; ftimerobj := nil; end - - get_instance_u(thisfunction(do_motion)); - get_instance_u(thisfunction(do_received)); - get_instance_u(thisfunction(do_drop)); + //get_instance_u(thisfunction(do_motion)); + //get_instance_u(thisfunction(do_received)); + //get_instance_u(thisfunction(do_drop)); FHadjustment := nil; Fvadjustment := nil; FHscrollbar := nil; @@ -8880,11 +8897,7 @@ type tgtk_ctl_scroll_window = class(tgtk_ctl_object) Fvscrollbarobj := nil; Fhscrollbarobj := nil; FClientWideget := nil; - if ftarget then - begin - _wapi.gtk_target_entry_free(ftarget); - ftarget := nil; - end + end protected function initadjustSignal(); diff --git a/funcext/tvclib/utslmemo.tsf b/funcext/tvclib/utslmemo.tsf index 369a39a..c133f80 100644 --- a/funcext/tvclib/utslmemo.tsf +++ b/funcext/tvclib/utslmemo.tsf @@ -2656,6 +2656,7 @@ type TSynCompletion = class(TSynCompletionList) function Create(AOwner);override; begin inherited; + fminmatch := 1; fmatchfirst := true; {$ifdef linuxpop} //处理避免闪烁 @@ -2730,17 +2731,17 @@ type TSynCompletion = class(TSynCompletionList) //s := PrevWordPos //SetFilter(); s := Memo.PrevWord(); - + sl := length(s); if visible then begin - if s then + if s and (sl>=fminmatch) then begin SetFilter(s); end else Visible := false; end else begin - if s then + if s and (sl>=fminmatch) then begin SetFilter(s); if ItemCount>0 then @@ -2792,7 +2793,7 @@ type TSynCompletion = class(TSynCompletionList) end else begin - if completedCase() then + if {completedCase()}true then begin if s<>FFiltero and s and ls and fl then begin @@ -2855,10 +2856,10 @@ type TSynCompletion = class(TSynCompletionList) end return false; end - function completedCase();virtual; //区分大小写 + {function completedCase();virtual; //区分大小写 begin return true; - end + end } function SetFilter(s); //筛选 begin if not FCompData then return ; @@ -2918,7 +2919,9 @@ type TSynCompletion = class(TSynCompletionList) property IgnoreCase read FIgnoreCase Write SetIgnoreCase; //忽略大小写 property OnJumpChoosed read GetJumpChoosed write SetJumpChoosed; property matchfirst read fmatchfirst write fmatchfirst ;//匹配首字母 + property minmatch read fminmatch write setminmatch ;//最小匹配长度 private + fminmatch; fmatchfirst; FCurrentWidth; FCompData; @@ -2927,6 +2930,14 @@ type TSynCompletion = class(TSynCompletionList) FIgnoreCase; FFilter; FFiltero; + private + function setminmatch(v); + begin + if v>=1 and v<>fminmatch then + begin + fminmatch := v; + end + end function GetJumpChoosed(); begin return FJump.OnjumpChoosed ; diff --git a/funcext/tvclib/utslvclcefinterface.tsf b/funcext/tvclib/utslvclcefinterface.tsf index e569088..3c37d05 100644 --- a/funcext/tvclib/utslvclcefinterface.tsf +++ b/funcext/tvclib/utslvclcefinterface.tsf @@ -19,7 +19,14 @@ function cef_execute_process(arg:pointer;app:pointer;dow:pointer):integer; //function IsBadWritePtr(ptr:pointer;ucb:pointer):integer; function cef_command_line_get_global():pointer; function cef_command_line_create():pointer; -type cef_point_t = class(tslcstructureobj) +type t_cef_stc_base = class(tslcstructureobj) + static const C_CEF_PACK = 8; + function create(d,p); + begin + inherited; + end +end +type cef_point_t = class(t_cef_stc_base) private static SSTRUCT; class function getstruct() @@ -28,7 +35,7 @@ type cef_point_t = class(tslcstructureobj) array( (0,"int",0), (1,"int",0) - )); + ),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -39,7 +46,7 @@ type cef_point_t = class(tslcstructureobj) property x index 0 read _getvalue_ write _setvalue_; property y index 1 read _getvalue_ write _setvalue_; end -type cef_mouse_event_t = class(tslcstructureobj) +type cef_mouse_event_t = class(t_cef_stc_base) private static SSTRUCT; class function getstruct() @@ -49,7 +56,7 @@ type cef_mouse_event_t = class(tslcstructureobj) (0,"int",0), (1,"int",0), (2,"int",0) - )); + ),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -62,7 +69,7 @@ type cef_mouse_event_t = class(tslcstructureobj) property modifiers index 2 read _getvalue_ write _setvalue_; //Bit flags describing any pressed modifier keys. See end -type cef_popup_features_t = class(tslcstructureobj) +type cef_popup_features_t = class(t_cef_stc_base) private static SSTRUCT; class function getstruct() @@ -81,7 +88,7 @@ type cef_popup_features_t = class(tslcstructureobj) (9,"int",0), (10,"int",0), (11,"int",0) - )); + ),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -102,7 +109,7 @@ type cef_popup_features_t = class(tslcstructureobj) property toolBarVisible index 10 read _getvalue_ write _setvalue_; property scrollbarsVisible index 11 read _getvalue_ write _setvalue_; end -type cef_audio_parameters_t = class(tslcstructureobj) +type cef_audio_parameters_t = class(t_cef_stc_base) private static SSTRUCT; class function getstruct() @@ -112,7 +119,7 @@ type cef_audio_parameters_t = class(tslcstructureobj) (0,"int",0), (1,"int",0), (2,"int",0) - )); + ),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -124,7 +131,7 @@ type cef_audio_parameters_t = class(tslcstructureobj) property sample_rate index 1 read _getvalue_ write _setvalue_; property frames_per_buffer index 2 read _getvalue_ write _setvalue_; end -type cef_cursor_info_t = class(tslcstructureobj) +type cef_cursor_info_t = class(t_cef_stc_base) private static SSTRUCT; class function getstruct() @@ -141,7 +148,7 @@ type cef_cursor_info_t = class(tslcstructureobj) (0,"int",0), (1,"int",0) ))) - ); + ,nil,nil,C_CEF_PACK); ;; return SSTRUCT; end @@ -154,7 +161,7 @@ type cef_cursor_info_t = class(tslcstructureobj) property image_scale_factor index "image_scale_factor" read _getvalue_ write _setvalue_; property buffer index "buffer" read _getvalue_ write _setvalue_; end -type cef_size_t = class(tslcstructureobj) +type cef_size_t = class(t_cef_stc_base) private static SSTRUCT; class function getstruct() @@ -163,7 +170,7 @@ type cef_size_t = class(tslcstructureobj) array( (0,"int",0), (1,"int",0) - )); + ),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -174,7 +181,7 @@ type cef_size_t = class(tslcstructureobj) property width index 0 read _getvalue_ write _setvalue_; property height index 1 read _getvalue_ write _setvalue_; end -type cef_rect_t = class(tslcstructureobj) +type cef_rect_t = class(t_cef_stc_base) private static SSTRUCT; class function getstruct() @@ -185,7 +192,7 @@ type cef_rect_t = class(tslcstructureobj) (1,"int",0), (2,"int",0), (3,"int",0) - )); + ),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -198,7 +205,7 @@ type cef_rect_t = class(tslcstructureobj) property width index 2 read _getvalue_ write _setvalue_; property height index 3 read _getvalue_ write _setvalue_; end -type cef_insets_t = class(tslcstructureobj) +type cef_insets_t = class(t_cef_stc_base) private static SSTRUCT; class function getstruct() @@ -283,7 +290,7 @@ type tcefmessage = class(TTSLProcessMsg) return ##_f_(p); end end -type TTSLProcessMsg =class(tslcstructureobj) +type TTSLProcessMsg =class(t_cef_stc_base) private static SSTRUCT; class function getstruct() @@ -293,7 +300,7 @@ type TTSLProcessMsg =class(tslcstructureobj) ("prev","intptr",0), ("next","intptr",0), ("proc","intptr",0), - )); + ),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -305,7 +312,7 @@ type TTSLProcessMsg =class(tslcstructureobj) end -type cef_string_t=class(tslcstructureobj) +type cef_string_t=class(t_cef_stc_base) fdest; function setansi(s); begin @@ -354,7 +361,7 @@ type cef_string_t=class(tslcstructureobj) static SSTRUCT; class function getstruct() begin - if not SSTRUCT then SSTRUCT := MemoryAlignmentCalculate(getcefstr16struct()); + if not SSTRUCT then SSTRUCT := MemoryAlignmentCalculate(getcefstr16struct(),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -495,6 +502,10 @@ type cef_string_map_t = class() end fptr := ptr; end + function _getptr_(); + begin + return FPtr; + end function destroy(); begin if FPtr and fdest then @@ -591,12 +602,12 @@ type cef_string_map_t = class() end end {$ifdef linux} -type cef_main_args_t=class(tslcstructureobj) +type cef_main_args_t=class(t_cef_stc_base) private static SSTRUCT; class function getstruct() begin - if not SSTRUCT then SSTRUCT := MemoryAlignmentCalculate(array(("argc","int",0),("argv","intptr",0))); + if not SSTRUCT then SSTRUCT := MemoryAlignmentCalculate(array(("argc","int",0),("argv","intptr",0)),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -608,12 +619,12 @@ type cef_main_args_t=class(tslcstructureobj) property argv index "argv" read _getvalue_ write _setvalue_; end {$else} -type cef_main_args_t=class(tslcstructureobj) +type cef_main_args_t=class(t_cef_stc_base) private static SSTRUCT; class function getstruct() begin - if not SSTRUCT then SSTRUCT := MemoryAlignmentCalculate(array(("instance","intptr",0))); + if not SSTRUCT then SSTRUCT := MemoryAlignmentCalculate(array(("instance","intptr",0)),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -625,7 +636,7 @@ type cef_main_args_t=class(tslcstructureobj) end {$endif} -type cef_basetime_t = class(tslcstructureobj) //32bit 可能有问题需要修正 +type cef_basetime_t = class(t_cef_stc_base) //32bit 可能有问题需要修正 function create(ptr); begin inherited create(getstruct(),ptr); @@ -635,16 +646,16 @@ type cef_basetime_t = class(tslcstructureobj) //32bit static SSTRUCT; class function getstruct() begin - if not SSTRUCT then SSTRUCT := MemoryAlignmentCalculate(array(("val","intptr",0))); + if not SSTRUCT then SSTRUCT := MemoryAlignmentCalculate(array(("val","intptr",0)),nil,nil,C_CEF_PACK); return SSTRUCT; end end -type cef_base_ref_counted_t=class(tslcstructureobj) +type cef_base_ref_counted_t=class(t_cef_stc_base) private static SSTRUCT; class function getstruct() begin - if not SSTRUCT then SSTRUCT := MemoryAlignmentCalculate(getbasestruct()); + if not SSTRUCT then SSTRUCT := MemoryAlignmentCalculate(getbasestruct(),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -674,7 +685,7 @@ type cef_base_ref_counted_t=class(tslcstructureobj) property has_one_ref index "has_one_ref" read _getvalue_ write _setvalue_; property has_at_least_one_ref index "has_at_least_one_ref" read _getvalue_ write _setvalue_; end -type cef_contain_base = class(tslcstructureobj) +type cef_contain_base = class(t_cef_stc_base) private FBase; fbptr; @@ -702,7 +713,7 @@ type cef_contain_base = class(tslcstructureobj) begin if not SSTRUCT then begin - SSTRUCT := MemoryAlignmentCalculate(structdescribe()); + SSTRUCT := MemoryAlignmentCalculate(structdescribe(),nil,nil,C_CEF_PACK); end return SSTRUCT; end @@ -1958,7 +1969,7 @@ type cef_frame_handler_t=class(cef_handler_base) begin return call(c,self(true), cef_object_get(browser,class(cef_browser_t)), - cef_object_get(old_frame,class(cef_frame_t)), + (old_frame?cef_object_get(old_frame,class(cef_frame_t)):0), cef_object_get(new_frame,class(cef_frame_t)) ); end @@ -2747,7 +2758,7 @@ type cef_keyboard_handler_t=class(cef_handler_base) end end end -type cef_key_event_t=class(tslcstructureobj) +type cef_key_event_t=class(t_cef_stc_base) private static SSTRUCT; class function getstruct() @@ -2760,7 +2771,7 @@ type cef_key_event_t=class(tslcstructureobj) ("is_system_key","int",0), ("character","short",0), ("unmodified_character","short",0), - ("focus_on_editable_field","int",0))); + ("focus_on_editable_field","int",0)),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -3300,7 +3311,7 @@ type cef_post_data_t=class(cef_contain_base) ("get_elements","intptr",0), ("remove_element","intptr",0), ("add_element","intptr",0), - ("remove_elements","intptr",0))); + ("remove_elements","intptr",0)),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -3598,6 +3609,32 @@ type cef_command_line_t=class(cef_contain_base) /// executed. DOM objects are only valid for the scope of this function. Do /// not keep references to or attempt to access any DOM objects outside the /// scope of this function. + function is_valid(); + begin + ptr := _getvalue_(functionname()); + f := function(sf:pointer):integer;stdcall; external ptr; + return ##f(_getptr_()); + end + function is_read_only(); + begin + ptr := _getvalue_(functionname()); + f := function(sf:pointer):integer;stdcall; external ptr; + return ##f(_getptr_()); + end + + function init_from_argv(argc,argv); + begin + ptr := _getvalue_(functionname()); + f := procedure(sf:pointer;argc:integer;argv:pointer);stdcall; external ptr; + return ##f(_getptr_(),argc,argv); + end + function get_command_line_string(); + begin + ptr := _getvalue_(functionname()); + f := function(sf:pointer):pointer;stdcall; external ptr; + s := new cef_string_userfree_t(##f(_getptr_())); + return s.str; + end function get_program(); begin ptr := _getvalue_(functionname()); @@ -3614,6 +3651,54 @@ type cef_command_line_t=class(cef_contain_base) u.str := exe; ##f(_getptr_(),u._getptr_()); end + function has_switches(); + begin + ptr := _getvalue_(functionname()); + f := function(sf:pointer):integer;stdcall; external ptr; + return ##f(_getptr_()); + end + function has_switch(s); + begin + ptr := _getvalue_(functionname()); + f := function(sf:pointer;sp:pointer):integer;stdcall; external ptr; + u := new cef_string_t(); + u.str := s; + return ##f(_getptr_(),u._getptr_()); + end + function get_switch_value(n); + begin + ptr := _getvalue_(functionname()); + f := function(sf:pointer;n:pointer):pointer;stdcall; external ptr; + u := new cef_string_t(); + u.str := n; + s := new cef_string_userfree_t(##f(_getptr_(),u._getptr_())); + return s.str; + end + function get_switches(); + begin + ptr := _getvalue_(functionname()); + f:= procedure(s:pointer;attrMap:pointer);stdcall; external ptr; + m := new cef_string_map_t(); + ##f(_getptr_(),m._getptr_()); + return m.keyvalues(); + end + function append_switch(s); + begin + ptr := _getvalue_(functionname()); + f := function(sf:pointer;sp:pointer):integer;stdcall; external ptr; + u := new cef_string_t(); + u.str := s; + return ##f(_getptr_(),u._getptr_()); + end + function append_switch_with_value(n,v); + begin + ptr := _getvalue_(functionname()); + f := function(sf:pointer;sp:pointer):integer;stdcall; external ptr; + u1 := new cef_string_t();u2 := new cef_string_t(); + u1.str := n;u2.str := v; + return ##f(_getptr_(),u1._getptr_(),u2._getptr_); + end + function append_argument(s); begin if not( s and ifstring(s)) then return 0; @@ -3657,12 +3742,11 @@ type cef_app_t=class(cef_contain_base) //cef_app_capi.h property on_before_command_line_processing index "on_before_command_line_processing" read getcallpropertybyindex write setcallpropertybyindex; procedure on_before_command_line_processing_i(sf:pointer;process:pointer;cmd:pointer);stdcall; begin - echo "\r\non_before_command_line_processing_i"; c := getcallback(functionname()); if c then begin return call(c,self(true), - (new cef_string_t(process)).str, + (process?((new cef_string_t(process)).str):""), new cef_command_line_t(cmd) ); end @@ -3673,7 +3757,7 @@ type cef_app_t=class(cef_contain_base) //cef_app_capi.h // property get_render_process_handler index "get_render_process_handler" read _getvalue_ write _setvalue_; end -type cef_bounds_t = class(tslcstructureobj) +type cef_bounds_t = class(t_cef_stc_base) private static SSTRUCT; class function getstruct() @@ -3683,7 +3767,7 @@ type cef_bounds_t = class(tslcstructureobj) ("y","int",0), ("width","int",0), ("height","int",0) - )); + ),nil,nil,C_CEF_PACK); return SSTRUCT; end public @@ -3714,7 +3798,10 @@ type cef_window_info_t=class(cef_contain_base) {$endif} ("bounds","user",getcefboundsstruct()), ("parent_window","intptr",0), - ("menu","intptr",0), +{$ifdef linux} +{$else} + ("menu","intptr",0), +{$endif} ("windowless_rendering_enabled","int",0), ("shared_texture_enabled","int",0), ("external_begin_frame_enabled","int",0), @@ -3754,11 +3841,12 @@ type cef_window_info_t=class(cef_contain_base) inherited ; end property ex_style index "ex_style" read _getvalue_ write _setvalue_; - property window_name index "window_name" read getcefstrmenber write setcefstrmenber; property style index "style" read _getvalue_ write _setvalue_; - property bounds read getbounds; - property parent_window index "parent_window" read _getvalue_ write _setvalue_; property menu index "menu" read _getvalue_ write _setvalue_; + + property window_name index "window_name" read getcefstrmenber write setcefstrmenber; + property bounds read getbounds; + property parent_window index "parent_window" read _getvalue_ write _setvalue_; property windowless_rendering_enabled index "windowless_rendering_enabled" read _getvalue_ write _setvalue_; property shared_texture_enabled index "shared_texture_enabled" read _getvalue_ write _setvalue_; property external_begin_frame_enabled index "external_begin_frame_enabled" read _getvalue_ write _setvalue_; @@ -3769,6 +3857,7 @@ type cef_settings_t=class(cef_contain_base) //cef_types.h function structdescribe();override; begin /////////////////120.1.8///////////////////// + if cef_version_info(0)>119 then return array( ("size","intptr",0), ("no_sandbox","int",1), @@ -3789,7 +3878,7 @@ type cef_settings_t=class(cef_contain_base) //cef_types.h ("locale","user",getcefstr16struct()), ("log_file","user",getcefstr16struct()), ("log_severity","int",3), - ("log_items","int",3), + ("log_items","int",0), ("javascript_flags","user",getcefstr16struct()), ("resources_dir_path","user",getcefstr16struct()), ("locales_dir_path","user",getcefstr16struct()), @@ -3842,7 +3931,7 @@ type cef_settings_t=class(cef_contain_base) //cef_types.h function aftercreate(flg);override; begin size := memsize(); - locale := "ZH-CH"; + //locale := "ZH-CH"; end public function create(ptr) @@ -3852,39 +3941,44 @@ type cef_settings_t=class(cef_contain_base) //cef_types.h property size index "size" read _getvalue_ write _setvalue_; property no_sandbox index "no_sandbox" read _getvalue_ write _setvalue_; property browser_subprocess_path index "browser_subprocess_path" read getcefstrmenber write setcefstrmenber; - property framework_dir_path index "framework_dir_path" read _getvalue_ write _setvalue_; - property main_bundle_path index "main_bundle_path" read _getvalue_ write _setvalue_; + property framework_dir_path index "framework_dir_path" read getcefstrmenber write setcefstrmenber; + property main_bundle_path index "main_bundle_path" read getcefstrmenber write setcefstrmenber; property chrome_runtime index "chrome_runtime" read _getvalue_ write _setvalue_; property multi_threaded_message_loop index "multi_threaded_message_loop" read _getvalue_ write _setvalue_; property external_message_pump index "external_message_pump" read _getvalue_ write _setvalue_; property windowless_rendering_enabled index "windowless_rendering_enabled" read _getvalue_ write _setvalue_; property command_line_args_disabled index "command_line_args_disabled" read _getvalue_ write _setvalue_; property cache_path index "cache_path" read getcefstrmenber write setcefstrmenber; - property root_cache_path index "root_cache_path" read _getvalue_ write _setvalue_; - property user_data_path index "user_data_path" read _getvalue_ write _setvalue_; + property root_cache_path index "root_cache_path" read getcefstrmenber write setcefstrmenber; + property user_data_path index "user_data_path" read getcefstrmenber write setcefstrmenber; property persist_session_cookies index "persist_session_cookies" read _getvalue_ write _setvalue_; property persist_user_preferences index "persist_user_preferences" read _getvalue_ write _setvalue_; - property user_agent index "user_agent" read _getvalue_ write _setvalue_; - property user_agent_product index "user_agent_product" read _getvalue_ write _setvalue_; + property user_agent index "user_agent" read getcefstrmenber write setcefstrmenber; + property user_agent_product index "user_agent_product" read getcefstrmenber write setcefstrmenber; property locale index "locale" read getcefstrmenber write setcefstrmenber; property log_file index "log_file" read getcefstrmenber write setcefstrmenber; property log_severity index "log_severity" read _getvalue_ write _setvalue_; - property javascript_flags index "javascript_flags" read _getvalue_ write _setvalue_; - property resources_dir_path index "resources_dir_path" read _getvalue_ write _setvalue_; + property log_items index "log_items" read _getvalue_ write _setvalue_; + property javascript_flags index "javascript_flags" read getcefstrmenber write setcefstrmenber; + property resources_dir_path index "resources_dir_path" read getcefstrmenber write setcefstrmenber; property locales_dir_path index "locales_dir_path" read getcefstrmenber write setcefstrmenber; property pack_loading_disabled index "pack_loading_disabled" read _getvalue_ write _setvalue_; property remote_debugging_port index "remote_debugging_port" read _getvalue_ write _setvalue_; property uncaught_exception_stack_size index "uncaught_exception_stack_size" read _getvalue_ write _setvalue_; property background_color index "background_color" read _getvalue_ write _setvalue_; - property accept_language_list index "accept_language_list" read _getvalue_ write _setvalue_; - property cookieable_schemes_list index "cookieable_schemes_list" read _getvalue_ write _setvalue_; + property accept_language_list index "accept_language_list" read getcefstrmenber write setcefstrmenber; + property cookieable_schemes_list index "cookieable_schemes_list" read getcefstrmenber write setcefstrmenber; property cookieable_schemes_exclude_defaults index "cookieable_schemes_exclude_defaults" read _getvalue_ write _setvalue_; + + property chrome_policy_id index "chrome_policy_id" read getcefstrmenber write setcefstrmenber; + property chrome_app_icon_id index "chrome_app_icon_id" read _getvalue_ write _setvalue_; end type cef_browser_settings_t=class(cef_contain_base) //cef_types.h private function structdescribe();override; begin //////////////120.1.8///////////////////////////// + if cef_version_info(0)>119 then return array( ("size","intptr",0), ("windowless_frame_rate","int",30), //0 @@ -3959,17 +4053,17 @@ type cef_browser_settings_t=class(cef_contain_base) //cef_types.h end property size index "size" read _getvalue_ write _setvalue_; property windowless_frame_rate index "windowless_frame_rate" read _getvalue_ write _setvalue_; - property standard_font_family index "standard_font_family" read _getvalue_ write _setvalue_; - property fixed_font_family index "fixed_font_family" read _getvalue_ write _setvalue_; - property serif_font_family index "serif_font_family" read _getvalue_ write _setvalue_; - property sans_serif_font_family index "sans_serif_font_family" read _getvalue_ write _setvalue_; - property cursive_font_family index "cursive_font_family" read _getvalue_ write _setvalue_; - property fantasy_font_family index "fantasy_font_family" read _getvalue_ write _setvalue_; + property standard_font_family index "standard_font_family" read getcefstrmenber write setcefstrmenber; + property fixed_font_family index "fixed_font_family" read getcefstrmenber write setcefstrmenber; + property serif_font_family index "serif_font_family" read getcefstrmenber write setcefstrmenber; + property sans_serif_font_family index "sans_serif_font_family" read getcefstrmenber write setcefstrmenber; + property cursive_font_family index "cursive_font_family" read getcefstrmenber write setcefstrmenber; + property fantasy_font_family index "fantasy_font_family" read getcefstrmenber write setcefstrmenber; property default_font_size index "default_font_size" read _getvalue_ write _setvalue_; property default_fixed_font_size index "default_fixed_font_size" read _getvalue_ write _setvalue_; property minimum_font_size index "minimum_font_size" read _getvalue_ write _setvalue_; property minimum_logical_font_size index "minimum_logical_font_size" read _getvalue_ write _setvalue_; - property default_encoding index "default_encoding" read _getvalue_ write _setvalue_; + property default_encoding index "default_encoding" read getcefstrmenber write setcefstrmenber; property remote_fonts index "remote_fonts" read _getvalue_ write _setvalue_; property javascript index "javascript" read _getvalue_ write _setvalue_; property javascript_close_windows index "javascript_close_windows" read _getvalue_ write _setvalue_; @@ -3983,8 +4077,9 @@ type cef_browser_settings_t=class(cef_contain_base) //cef_types.h property databases index "databases" read _getvalue_ write _setvalue_; property webgl index "webgl" read _getvalue_ write _setvalue_; property background_color index "background_color" read _getvalue_ write _setvalue_; - property accept_language_list index "accept_language_list" read _getvalue_ write _setvalue_; + property accept_language_list index "accept_language_list" read getcefstrmenber write setcefstrmenber; property chrome_status_bubble index "chrome_status_bubble" read _getvalue_ write _setvalue_; + property chrome_zoom_bubble index "chrome_zoom_bubble" read _getvalue_ write _setvalue_; end type cef_client_t=class(cef_contain_base) //cef_client_capi.h private diff --git a/plugin/PocoExecSQL.DLL b/plugin/PocoExecSQL.DLL index aea03a4..d83528c 100644 Binary files a/plugin/PocoExecSQL.DLL and b/plugin/PocoExecSQL.DLL differ diff --git a/plugin/TSLCPLUGIN.DLL b/plugin/TSLCPLUGIN.DLL index 09b5d63..fc63f1e 100644 Binary files a/plugin/TSLCPLUGIN.DLL and b/plugin/TSLCPLUGIN.DLL differ diff --git a/plugin/TSLClient.dll b/plugin/TSLClient.dll index 7f16cec..5d0bd68 100644 Binary files a/plugin/TSLClient.dll and b/plugin/TSLClient.dll differ diff --git a/protocol.dll b/protocol.dll index 4a7df07..1e9dfee 100644 Binary files a/protocol.dll and b/protocol.dll differ diff --git a/tsjni.dll b/tsjni.dll index 952e016..447741c 100644 Binary files a/tsjni.dll and b/tsjni.dll differ diff --git a/tsleditor.exe b/tsleditor.exe index 5abb124..25c78dc 100644 Binary files a/tsleditor.exe and b/tsleditor.exe differ diff --git a/tslkrnl.dll b/tslkrnl.dll index 2da8057..e3648c0 100644 Binary files a/tslkrnl.dll and b/tslkrnl.dll differ diff --git a/tsnet.dll b/tsnet.dll index 3dad3ff..365e61e 100644 Binary files a/tsnet.dll and b/tsnet.dll differ diff --git a/whatsnew.txt b/whatsnew.txt index 47ee59c..4e3f1f8 100644 --- a/whatsnew.txt +++ b/whatsnew.txt @@ -1,3 +1,67 @@ +更新日志--------2024-03-29 + 修订:复数fmarray的数组式取值和设置的问题。 + +更新日志--------2024-03-28 + 修订:weak对象当实体被释放时进行访问,03-27版会导致错误。 + 升级:TSSVRAPI升级支持对象重载二进制函数功能。 + +更新日志--------2024-03-27 + 修订:多fmarray参数函数当fmarray维度不匹配扩展维度时的问题。 + 修订:jdbc驱动jar包对sqlserver支持的更新问题。 + 升级:为更好地支持TSNETDB及符号计算等特殊应用,并对GPU、NPU等扩展计算提供基础支撑,升级如下: + 在原有算符重载以及TS-SQL重载的基础之上,TSL对象现新增二进制函数重载的支持,例如重载abs/sin/cos等。 + 本次既支持二进制类用C等语言扩展重载对象的函数(为GPU/NPU等计算提供支撑),也支持TSL开发而成的类重载二进制函数的支持。 + 对于TSL开发的对象,支持用类方法实现,方法前使用和算法重载一样的operator前缀,参数个数和原始被重载的二进制函数一致。 + 同时也支持用对象成员函数实现,参数个数比原始被重载的二进制函数少1个,会以第一个参数的对象实例调用该成员函数。 + 重载二进制函数模式,支持变参,例如trystrtoint等具有变参返回的函数。 + 下边为TSL类重载二进制函数的具体案例: +c:=new c(); +echo abs(c),"\r\n"; +echo roundto(c,-2),"\r\n"; +echo "ret=",trystrtoint(c,i)," i=",i,"\r\n"; +echo strtoint(c),"\r\n"; +echo class(c).strtoint(c),"\r\n"; //operator方法依旧允许被直接调用 +type c=class + fa; + fb; +public + function create(); + begin + fa:=-1111.135; + fb:="2345"; + end; + function operator abs(); //单参数的abs成员方法无参数 + begin + return ::abs(fa); + end; + function operator roundto(pr); //两个参数的roundto成员方法只需要一个参数 + begin + echo "abs:",self.abs(),"\r\n"; //在函数中调用和二进制同名函数需使用self. + return ::roundto(fa,pr); //::明确调用全局方法 + end; + function operator trystrtoint(v);//重载支持变参返回v + begin + return ::trystrtoint(fb,v); + end; + class function operator strtoint(v);//重载支持类方法保持和原始函数定义的参数一致 + begin + return ::strtoint(v.fb); + end; +end; + +更新日志--------2024-03-25 + 修订:多线程客户机(WEB支持模块等)通讯存在的问题。 + 修订:format %g模式存在的问题。 + 升级:支持fmarray复数格式流。 + 升级:JDBC对SQLSERVER删除记录的问题。 + 升级:Poco pg支持的BUG,以及对各种驱动的clientencoding支持。 + +更新日志--------2024-03-22 + 修订:复数在客户端的显示BUG。 + 升级:复数支持like。 + 升级:增加支持复数函数,power,logn,roundto,simpleroundto,iszero... + 升级:format %f g等浮点类型支持复数。 + 更新日志--------2024-03-21 修订:integer*复数的BUG。