更新动态库 以及界面库

This commit is contained in:
liujianjun 2024-08-07 17:02:46 +08:00
parent 2fd9816b7e
commit 18c5435bf6
21 changed files with 72 additions and 17 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -4,8 +4,18 @@
uses tslvcl,utslvclDesigner; uses tslvcl,utslvclDesigner;
deletefuncacheini(); deletefuncacheini();
isdebug := false; isdebug := false;
willopen := "";
for i:= 0 to sysparamcount() do for i:= 0 to sysparamcount() do
begin begin
if wait_filename then
begin
willopen := sysparamstr(i);
wait_filename := 0;
end else
if ("-tpj"=sysparamstr(i)) then
begin
wait_filename := true;
end else
if ("-DEBUGSERVER" = sysparamstr(i)) then if ("-DEBUGSERVER" = sysparamstr(i)) then
begin begin
isdebug := true; isdebug := true;
@ -20,6 +30,7 @@ end
app := InitializeApplication(); app := InitializeApplication();
app.createform(class(TVclDesignerStart),Desginer); app.createform(class(TVclDesignerStart),Desginer);
Desginer.Show(); Desginer.Show();
if willopen then Desginer.OpenFileFromTpjFile(willopen);
r := app.run(); r := app.run();
return r; return r;
type TVclDesignerStart = class(TVclDesigner) //实现唯一的窗口 type TVclDesignerStart = class(TVclDesigner) //实现唯一的窗口

View File

@ -366,11 +366,13 @@ type teditorform = class(TVCform) //
begin begin
it.caption := v; it.caption := v;
ite := new TMenu(self); ite := new TMenu(self);
ite.caption := c_m_editor; ite.caption := c_m_editor;
ite.Checked := true;
ite.Parent := it; ite.Parent := it;
itb := new TMenu(self); itb := new TMenu(self);
itb.caption := c_m_exer; itb.caption := c_m_exer;
global g_debug_chooser;
g_debug_chooser := c_m_exer;
itb.Checked := true;
itb.Parent := it; itb.Parent := it;
itb._tag := ite; itb._tag := ite;
ite._tag := itb; ite._tag := itb;
@ -1390,7 +1392,13 @@ type tsearchdir = class(TCustomControl)
function Create(AOwner);override; function Create(AOwner);override;
begin begin
inherited; inherited;
fcopyer := new TClipBoard(self);
caption := "函数搜索目录:左侧为别名,右侧为-libpath目录...."; caption := "函数搜索目录:左侧为别名,右侧为-libpath目录....";
fcpmenu := new TPopupmenu(self);
mui := new TMenu(self);
mui.caption := "¸´ÖÆÄ¿Â¼";
mui.Parent := fcpmenu;
mui.OnClick := thisfunction(copy_current_dirs);
WsDlgModalFrame := true; WsDlgModalFrame := true;
WSSizebox := true; WSSizebox := true;
visible := false; visible := false;
@ -1413,6 +1421,10 @@ type tsearchdir = class(TCustomControl)
ls.Border := true; ls.Border := true;
FLists[i] := ls; FLists[i] := ls;
end end
FLists[0].PopupMenu := fcpmenu;
FLists[0].OnPopupMenu := function(o,e)begin
if o.ItemIndex<0 then return e.skip;
end
btrecs := array( btrecs := array(
array(124,3,144,25), array(124,3,144,25),
array(124,206,144,230), array(124,206,144,230),
@ -1446,6 +1458,10 @@ type tsearchdir = class(TCustomControl)
o.endmodal(0); o.endmodal(0);
end ; end ;
end end
function copy_current_dirs(o,e);
begin
fcopyer.text := array2str(FLists[1].items,";");
end
function editkeyup(o,e); function editkeyup(o,e);
begin begin
if e.CharCode = 13 then if e.CharCode = 13 then
@ -1608,6 +1624,8 @@ type tsearchdir = class(TCustomControl)
FEdit; FEdit;
FLists; FLists;
FBtns; FBtns;
fcpmenu;
fcopyer;
end end
private private
function GetIcon(); function GetIcon();

View File

@ -4265,7 +4265,12 @@ type TEditer=class(TCustomcontrol) //
ft := str2array(ft,";"); ft := str2array(ft,";");
end end
if not ft then ft := array("*"); if not ft then ft := array("*");
FindFiles(dir,ft,d["c_dir"],r); for i,v in str2array(dir,";") do //多目录查找
begin
tv := trim(v);
if tv then
FindFiles(tv,ft,d["c_dir"],r);
end
return r; return r;
end end
function FindFiles(dir,ft,sub,ret); function FindFiles(dir,ft,sub,ret);

View File

@ -2206,13 +2206,17 @@ type TTsfFileParser = class() //
function ParserFiles(dir,FFileNames,mf); function ParserFiles(dir,FFileNames,mf);
begin begin
dirs := FileList("",dir+fiofs+"*"); dirs := FileList("",dir+fiofs+"*");
for i,v in dirs do for i,v in dirs do //解析文件
begin begin
fn := v["FileName"] ; fn := v["FileName"] ;
if not(pos("D",v["Attr"])) and (1=ParseRegExpr("\\.tsf$",fn,"i",m,mp,ml)) then //tsf文件处理 if not(pos("D",v["Attr"])) and (1=ParseRegExpr("\\.tsf$",fn,"i",m,mp,ml)) then //tsf文件处理
begin begin
parserafile(dir,v); parserafile(dir,v);
end end
end
for i,v in dirs do //解析目录
begin
fn := v["FileName"] ;
if pos("D",v["Attr"]) and not( fn in array(".","..")) then //子目录查找 if pos("D",v["Attr"]) and not( fn in array(".","..")) then //子目录查找
begin begin
ParserFiles(dir+fiofs+fn,FFileNames,mf); ParserFiles(dir+fiofs+fn,FFileNames,mf);

View File

@ -1425,12 +1425,13 @@ type TTslDebuga=class(TCustomControl)
cnn := ""; cnn := "";
for ii := 1 to length(cn) do for ii := 1 to length(cn) do
begin begin
if cn[ii]in array(".",":")then cni := cn[ii];
if (cni = ".") or (cni = ":")then
begin begin
cn := cnn; cn := cnn;
break; break;
end end
cnn += cn[ii]; cnn += cni;
end end
f := FDebugtsfs[lowercase(cn)]; f := FDebugtsfs[lowercase(cn)];
if not f then if not f then

View File

@ -318,21 +318,23 @@ type TVclDesigner = class(tvcform)
public //设计器工程 public //设计器工程
ffilemenu; ffilemenu;
fviewmenu; fviewmenu;
function OpenFileFromTpjFile(); //从文件打开工程 function OpenFileFromTpjFile(f); //从文件打开工程
begin begin
FProjectFileOpener.caption := "打开"; FProjectFileOpener.caption := "打开";
if FProjectFileOpener.OpenDlg() then
if not(ifstring(f)) and FProjectFileOpener.OpenDlg() then
begin begin
f := FProjectFileOpener.FileName; f := FProjectFileOpener.FileName;
FProjectsManager.OpenFileFromTpjFile(f); end
fio := ioFileseparator(); if not fileexists("",f) then return ;
for i := length(f) downto 2 do FProjectsManager.OpenFileFromTpjFile(f);
fio := ioFileseparator();
for i := length(f) downto 2 do
begin
if f[i]=fio then
begin begin
if f[i]=fio then FProjectFileOpener.initialDir := f[1:(i-1)];
begin break;
FProjectFileOpener.initialDir := f[1:(i-1)];
break;
end
end end
end end
end end

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,3 +1,17 @@
更新日志--------2024-07-31
升级office-lib。
优化: MedianOf,LargeOf,SmallOf,PercentileOf,PercentRankOf,QuartileOf,RankOf,TrimMeanOf对每行进行运算的效率问题。
更新日志--------2024-07-22
修正7-19日升级引起的thashedstringlist工作异常的问题。
修正7-19日升级的内核优化问题。
更新日志--------2024-07-19
升级支持优化设置8返回系统类调用的优化信息。如果1+2+4+8 15为返回全部之前7可以返回全部。
升级支持tslassigning关键字识别对象的读操作是否是在对象赋值中。例如a.b.c:=1b的执行可以得到状态。
升级TinyODBC/TSJDBC。
升级:内核优化。
更新日志--------2024-07-10 更新日志--------2024-07-10
升级支持缺省加载tslpkg目录里的*.pkg.load包。 升级支持缺省加载tslpkg目录里的*.pkg.load包。
升级TSL命令行支持--build=模式下将无命名空间的函数打包成指定namespace的函数。理论上多套应用包括同名公共函数均可以采用此模式独立打包。 升级TSL命令行支持--build=模式下将无命名空间的函数打包成指定namespace的函数。理论上多套应用包括同名公共函数均可以采用此模式独立打包。