
编程环境
文章平均质量分 65
lyhoo163
自由职业,编程码农。
展开
-
流水号的获取
另一种,是由字段"流水”,由1至Count循环,选取空位,无空位Count+1。这种方式,需要对流水号出现的重复,或无效流水,进行删除处理(人工处理,或软件代码判别)。第二种方式,软件代码比较复杂,略了,需要读取数据,再进行处理。一种是由字段"流水”,读取最大号+1,这种方式,容易造成跳号。本人比较喜欢第一种方式,无需维护,不就是一种编号吗!如:03-01-2023-W-0001。区编号-机构类型-年份-性别-流水。原创 2023-12-10 10:32:19 · 628 阅读 · 0 评论 -
加载类型库/dll 时出错
换个思路,从DataSnap运用的Dll入手,结果发现是midas.dll,出现问题,末加载(注册)此Dll。软件使用DataSnap数据库ERP管理系统,用户更换操作系统,出现“加载类型库/dll 时出错”信息。通常思路,从大环境查找,怀疑操作系统中的C++运行库出现错误,搜索一翻末果。4、最后点击开始菜单--运行--输入regsvr32 midas.dll命令,即可。3、对于64位系统,将复制到C:Windows\SysWOW64目录。通过Dll修复大师、全能修复Dll等等,不管用。原创 2023-12-08 12:19:13 · 2224 阅读 · 0 评论 -
AlphaControls控件TsRadioGroup的使用
说明:该属性就是让ITEM的位置,垂直方向,向下偏移的量。所以,使用控件,一定要全面了解它们的属性。解决方案,通过对TsRadioGroup的ContentVOffset属性,设置为10。原创 2023-11-10 20:04:04 · 920 阅读 · 0 评论 -
Project A.exe raised exception class EAccessViolation 项目引发异常类EAccessViolation,“模块‘ 地址访问违规”的纠错
3、地址的冲突,关键是参数地址的冲突,在Delphi中,自身使用的一些参数名称上的冲突,时常出现。因此,将打印代码中的局部变量FileName,改成要FileMane。2、执行打印代码,再执行读取 sName:=ClientDataSet1.FieldByName('姓名').AsString;在使用参数时,不要和Delphi的VCL 使用的名称一致,在使用与VCL常用的名称一致时,前。养老习惯,可以避免一些,不必要的出错。都能单独执行,无错误;往往这些出错,编辑软件的问题,但作业编程者,应规避。原创 2023-10-19 08:46:32 · 1719 阅读 · 0 评论 -
DBRichEdit关联ClientDataSet不能保存的Bug
ClientDataSet的最大好处,就是建立能内存表,特别DataSnap三层运用中,主要使用ClientDataSet与运程的服务器中的数据表,建立读取存贮关系。1、ClientDataSet与DBEdit等VCL关联时,只要的对一条数据行进行编辑修改数据,ClientDataSe的ChangeCount 就是自动加一。2、ClientDataSet与DBRichEdit关联时,在DBRichEdit中编辑修改后,ClientDataSe的ChangeCount没有反映。原创 2023-09-24 11:03:35 · 1412 阅读 · 0 评论 -
锐浪报表 Grid++Report 打印转圈自动退出
3、检查Windows系统,发现是打印机无默认打印机。设置默认打印机,解决问题。1、更新最新锐浪报表 Grid++Report Dll,末能解决问题。客户说进入锐浪报表 Grid++Report,打印界面时,见下图。一是代码中,检查系统是否有默认打印机;让windows始终有默认打印机。二是代码中,自动加入默认打印机。出现转圈并退出系统。原创 2023-09-23 09:09:33 · 1361 阅读 · 0 评论 -
ClientDataSet运行中出现“ClientDataSet:dataset not in edit or insert mode”(二)
执行Append后,编译器末能将ClientDataSet的state值,变更为dsInsert。通过强制执行Edit,让ClientDataSet的state值,变更为dsEdit(效果与dsInsert一致)。原创 2023-09-14 15:30:30 · 1371 阅读 · 0 评论 -
软件模块管理权限的设置
在应用软件中,通常将软件的功能分为若干个子程序,通过主程序调用。那么,通过众多客户来 说明,如果设置各人的权限呢?这样,对于每个窗口,用户就是二个权限:一是进入浏览权限,二是编辑打印的权限。这里,要建立数据表,将模块、菜单、窗口和指定的二个权限,进行关联。通过(用户)登录名和密码,读取相关模块的权限,进入模块(子程序)。(2)编辑的权限,可对数据进行修改、增加、删除操作;这样,对不是很严格的管理权限的单位,不设置,就有权。3、 在模块程序中,设置“本模块”的管理权限。2、设置模块、菜单、窗口的数据关系。原创 2023-07-27 15:09:58 · 2456 阅读 · 0 评论 -
Access violation at address. Read of address FFFFFFC
代码写好 ,执行中,出现"Access violation at address 00402452 in module 'MedicalRec.exe'.Read of address FFFFFFC"。3、当ClientDataSet数据集循环中,某字段读写磁盘中Txt文件后,就不能对ClientDataSet重新赋值。如下:数据集循环时,不直接读写磁盘,需是调用另一个对单条数据进行读写的操作。2、当ClientDataSet数据集,单独一行数据段读写磁盘中Txt文件后,正常。真正的原理,不得而知。原创 2023-07-25 14:49:41 · 2083 阅读 · 0 评论 -
FormCreate、FormShow、FormActivate事件的区别与运用
(3)当窗口再显示,但不作为当前窗口,form1.onActivate不执行,当空口被激活(作为当前窗口)时form1.onActivate执行。当指定某窗口作为当前窗口(被激活),也就是窗口之间切换时,初指定当前窗口(被激活)的窗口的onActivate执行。FormShow、FormActivate事件的运用,前二个非常熟悉。(2)当窗口隐藏后,再显示时from1.onShow执行。FormShow、FormActivate事件的区别与运用。1、当窗口中创建并显示时(三者的运行顺序)原创 2023-03-29 13:18:25 · 3281 阅读 · 0 评论 -
屏蔽360阻止远程执行变更注册表自启动数据的办法
但是,由于运行的服务器,有时是安装在普通的电脑中(兼作服务器),计算机的运行中,不自觉地就会安装360。这样,在运行服务器时,通过运行执行一些底层的变更时,360就会干扰阻止。实践证明,通过客户端,调用运程服务器,执行自身更新,或修改系统的底层数据,如修改操作系统的注册表等等。省得上门维护,通过运程维护,极大地方便软件的维护。我在服务器中,加入更新升级自身(exe)文件,并变更操作系统自启动数据的代码。主动安装360后,你可以直接将360进行相关的设置。1、服务器安装的目录,加入信息区(目录加入)原创 2023-01-28 16:25:37 · 2953 阅读 · 0 评论 -
Windows 窗体显示的“模式方式”与“非模式方式”
在Windows中,显示存在作为窗体和对话框要么是有模式的,要么是无模式的。 “模式”窗体或对话框必须关闭或隐藏,然后您才能继续使用应用程序的其余部分。当我们要显示重要消息的对话框应始终是有模式的。例如 MessageBox 是一个可供您使用的有模式的窗体。 “无模式”窗体让您在此窗体与另一窗体之间变换焦点,而不必关闭初始窗体。 用户在该窗体显示的同时可继续在任何应用程序的其他位置工作。原创 2022-10-02 17:11:06 · 4709 阅读 · 0 评论 -
Windows Server 2008R2 开机自动登录 自启程序无管理员权限的解决
Windows Server 2008R2,通过镜像安装,开机自动登录Administrator,安装服务器程序, 自启程序后,无管理员权限。为了保持无密码自动登录,不想改动2008服务器的用户。实践中,发现应用程序,当2008启动后,再执行,就可以获取管理员权限。为此,编个程序,先自启动,等待1-5分我钟后,再执行应用程序。原创 2022-08-20 12:57:13 · 4929 阅读 · 0 评论 -
C/S 模块文件的调用
我在调用模块时,为保障用户使用顺畅,只能调用一个模块。近期脑洞一开,可否同时调用二个模块,这样,软件可以浏览全部窗口。同时,设置一个Boolean全局参数EXEKeep2,确定业务员能打开二个模块,否则。这样,业务就能完全兼顾查看,软件的全部窗口。1、建立业务员使用记录,记录操作时,例如登录退出模块、保存、删除数据的详细记录。这样,C/S可以操作一个主业务模块,同时调用另一个模块。3、调用模块时,保持一个模块EXE,其他模块,调用时删除线程。五、让主程序同时能调用二个模块,解决C/S,全功能窗口的调用。原创 2022-08-19 15:27:55 · 2702 阅读 · 0 评论 -
Delphi 特殊字符串的替换
Delphi 条件限制替换字符编程中,对特殊字符的替换要求很高。对此,要求有条件限制性的替换。例如:原代码进行替换:TsDateEdit,Edit123,Edit;RichEdit111,DBRichEdit5,sEdit Edit上行字符中,要求Edit改为sEdit,仅替换变更中的Edit,如果使用常规的替换函数,是不行的。对此 ,提出方案:1、检查被替换字符前一位的字符值(1)认可的字符(2)不认可的字符2、检查被替换字符前一位的字符值(1)认可的字符原创 2022-05-27 12:21:01 · 5901 阅读 · 0 评论 -
C/S软件的窗口布局适应
C/S软件的开发中,一定要考虑用户的显示屏的效果。通过用户的屏幕分辨不同,显示出来效果不一致。因此,我们在编写时,要让不同的用户,都能使用,都有一个尽可以统一的窗口和功能效果。原创 2022-05-13 11:25:14 · 5203 阅读 · 0 评论 -
AlphaControls 控件 TsFrameBar 创建下拉式多级导航菜单
AlphaControls 控件TsFrameBar 创建下拉式二级菜单 TsFrameBar控件是创建一个下拉菜单的工具块。 TsFrameBar控件本身,可以通过创建TITEMS,自身的框架中,创建所需若干按键,组成按键式工具条。 每个按键可以包含一个TRFrame框架的子菜单; 这样,TsFrameBar可以创建目前流行的下拉式二级菜单。......原创 2022-05-08 11:36:05 · 4610 阅读 · 0 评论 -
AlphaControls 控件 菜单的附加功能
AlphaSkins 控件 使用标准的TMainMenu TPopupMenu控件,队原有功能外,其菜单ITEM项,具有的附加功能: 一、菜单项组的标题(附加功能) 1、项目中的多行文本 2、附加垂直信息栏 3、菜单中字体的全局更改 4、可定制的 alpha 混合效果 5、附加到表单的系统菜单原创 2022-05-04 15:15:23 · 4463 阅读 · 0 评论 -
AlphaControls TsTitleBar 控件
AlphaControls TsTitleBar 控件 TsTitleBar组件允许将具有不同样式的项目放置到蒙皮Forn标题。 一、特性 Images属性是可以在标题栏项目中显示的图像的容器 。 Items集合包含将实时放置在表单标题上的项目 。 ItemsMargin是项目内容与其边界之间的内部间距 。 ItemsSpacing是标题项目之间 的间隔,以像素为单位。 RightSpacing是 TitleBar 的内容和窗体的系统图标之间的间...原创 2022-05-04 09:20:11 · 4192 阅读 · 0 评论 -
AlphaControls TsAlphaHints 控件
AlphaControls TsAlphaHints 控件 一、功能 TsAlphaHints控制应用程序中工具提示的绘制,带或不带皮肤。为了让这个组件工作,将他放在应用程序的主要形式中就足够了。他已经有一种基本样式,此样式已配置并作为默认样式使用。就这样!现在将在 Active 属性为 True 时自动绘制提示。 可以通过更改组件设置来制作各种样式。为了管理样式,有一个Templates 属性 的特殊设计时编辑器。(参见Png模板的配置) 与 TsHintManager...原创 2022-05-04 09:18:24 · 4295 阅读 · 0 评论 -
AlphaControls TsVirtualImageList 控件
组件允许使用 TsAlphaImageList 组件作为图像源接收具有指定大小的图像。TsVirtualImageList 组件不存储图像,而是从 AlphaImageList 属性中定义的组件中获取图像。原创 2022-05-04 07:16:13 · 4370 阅读 · 0 评论 -
AlphaControls TsCharImageList 控件
TsCharImageList是ImageList 组件,其中字体中的字符用作字形的源。 这个组件可以像通常的ImageList组件一样用于显示按钮、菜单和应用程序的任何其他元素中的字形。 TsCharImageList已经内设一批图标,只要点击打开TsCharImageList,点击Addnews,展现众多图标中,只选择相应图标需单击几下鼠标,自定义字体就可以嵌入到此组件中,并且可以用作其他机器上的字形源。 TsCharImageList组件默认嵌入了流行的符号字体('F原创 2022-05-04 07:23:06 · 4331 阅读 · 0 评论 -
AlphaControls TsAlphaImageList 控件
AlphaControls TsAlphaImageList 控件原创 2022-05-04 07:12:08 · 4213 阅读 · 0 评论 -
C/S B/S之争
C/S即Client/Server(客户机/服务器)结构,通过将任务合理分配到Client端和Server端,来降低系统的通信开销,但是需要安装客户端才能进行相关操作,就像Word、WPS、PS以及报税软件需要功能的软件,都是C/S结构。目前的移动APP,绝大多数据也是C/S结构,它需要下载客户端才能使用其服务。 B/S即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或改进的结构。但其实B/S也可以理解为客户机/服务器模式...原创 2022-04-28 11:39:58 · 6090 阅读 · 0 评论 -
Delphi TForm 转 TFrame
Delphi之前的代码,特别是复杂VCL窗口,转为Frame时,有时需要,从头做进,操作繁杂。本人通过,找到快速将TForm轩为TFrame的办法:原创 2022-04-27 18:05:33 · 4842 阅读 · 0 评论 -
raised exception class EAccexxViolation with ‘Access violation at address 45EFD5 in module 出错
Project StartOH.exe raised exception class EAccexxViolation with 'Access violation at address 45EFD5 in module 'StartOh.exe. Read od address 00000170'. Process stopped. Uses Step or Run to continue.出错的解决原创 2022-04-21 10:29:14 · 4339 阅读 · 0 评论 -
Delphi TFrame作为TForm框架 添加 OnShow 事件
Delphi TFrame作为TForm框架 添加 OnShow 事件原创 2022-04-18 11:53:29 · 4772 阅读 · 0 评论 -
AlphaControls 控件 菜单TMainMenu TPopupMenu
AlphaControls支持对MainMenu、PopupMenu美观。原创 2022-04-14 19:35:12 · 4208 阅读 · 0 评论 -
AlphaControls 控件 nag-screens:Unregistered skin has been loaded. if you have a key for this skin...
registered skin has been loaded. if you have a key for this skin,please insert it in the Keylist. 这是AlphaControls控件无注册码,加载skin皮肤时,随机出现。用户需注册的对话框。意思:未注册的皮肤已加载。如果您有此皮肤的key,请将其插入 key序列中。 大家都来支持正版。AlphaControls控件购买地址https://www.alphaskins.c...原创 2022-04-09 10:44:40 · 4486 阅读 · 0 评论 -
AlphaControls 控件Delphi使用
AlphaControls 控件Delphi使用一、AlphaControls初始化(MainFrm加入AlphaControls)1、制定ini文件procedure WriteIni_Skin; // 保存皮肤参数var ini:tinifile;begin ini:=TIniFile.Create(INIPath+'Config.INI'); ini.WriteBool( 'skin','AlphaSkinDo',AlphaSkinDo); ini.WriteStri原创 2022-04-08 16:08:14 · 5001 阅读 · 0 评论 -
Delphi 项目 Build Configurations 构建配置 .DPROJ 文件
每个Delphi工程项目,都需要建立 Build Configurations,其构成的基础是:调试Debug方式和发行Release方式。这此配置都保存在 dproj文件中,.DPROJ文件使用XML格式,用作开发项目的保存和加载格式,包含源代码文件引用、编译器和链接器设置、项目目录和其他项目设置,它保存的中IDE环境参数和Project工程参数,即编译器的环境参数,最终编译生成.EXE 、.DLL 或.OCX 文件。原创 2022-03-24 16:17:46 · 5250 阅读 · 0 评论 -
TOpenDialog组件运用
TOpenDialog组件运用原创 2022-03-22 09:08:20 · 5154 阅读 · 0 评论 -
Delphi 替换字符函数
Delphi中的StringReplace函数是SysUtils单元中自带的函数,该函数使用上,全部替换功能不好用。为此自己编写一个替换字符串函数,实用好用。原创 2022-03-21 18:28:54 · 11443 阅读 · 0 评论 -
F2063 Could not compile usde unit ‘uniGUITypes‘问题解决
Delphi XE10,uniGUI1551环境下,编译项目完成后,升级uniGUI1555,编译不能通过,出错信息:F2063 Could not compile used unit 'uniGUiServer.pas'原创 2022-03-20 14:50:41 · 5646 阅读 · 0 评论 -
windows 免注册COM (配置manifest)
Windows XP 引入了一种新的 COM 激活模型,称为: 免注册COM,简称为 Reg-Free COM。简单地说,Reg-Free COM 是 COM 组件的注册表替代品。它通过将通常安装到系统注册表中的所有标准组件注册信息表达在一个文件中,该文件可以存储在与应用程序本身相同的文件夹中。 免注册COM技术,操作系统在加载EXE时会自动扫描是否包含配套的manifest信息,若有则读取manifest内容加载组件,否则读取注册表。 manifest描述了EXE里面引用了哪个DLL库、D...原创 2022-03-10 20:04:05 · 4781 阅读 · 0 评论 -
OLE DB error occured. Code 80040E14h. CoInitialize has not been Called. 问题解决
DelphiXE 使用unidac连接sqlserver2008编程,上传服务器,出了标题错误。 一、原因分析 1、屏幕显示CoUnInitializehas not been call.(CoUnInitialize还没有被调用) 2、unidac需要相关COM插件支持,需要初始化COM的调用。 二、问题解决 1、模块属性 看上图,在UniServerModule有一个AutoCoInitialize属性,将其它属...原创 2022-03-08 17:20:57 · 5631 阅读 · 0 评论 -
Windows COM 免注册 manifest 清单文件
Windows COM 免注册 manifest清单文件原创 2022-01-15 17:44:34 · 4564 阅读 · 0 评论 -
SQLite 数据库
SQLite 轻型数据库原创 2022-01-03 14:44:15 · 5772 阅读 · 0 评论 -
delphi XE https接口 出错 Could not load SSL library
向服务器(http://)通过进行Post上传文件,当客户的服务器换成(https://)时,Post出现“Could not load SSL library”提示,说明加载SSL库文件失败。原创 2021-12-22 17:38:45 · 12906 阅读 · 0 评论 -
delphi XE10.4 idhttp post Json中文乱码的处理
delphi XE10.4 idhttp使用TIdMultiPartFormDataStream实现post中文处理原创 2021-11-17 11:48:03 · 8247 阅读 · 0 评论