- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 Delphi关于not and or xor shr shl运算
此函数执行,Result返回数据为32位值,不能达到64位数据。运算后数据被32位截取了。可能是Delphi平台不支持32位以上的and or运算。就能解决Result返回数据为64位,未被32位截取。
2024-01-12 17:08:53
411
原创 Delphi关于Control has no Parent Windows问题
当代码运行,DLL调用执行到TFrame及其子类创建时,报:Control ‘TFrame’ has no parent windows. 异常,且创建失败。其报错原因推测是TFrame及其子类创建时需要获取其父类句柄,当不存在时会获取默认句柄,即Application.Handle;解决方案是,在DLL调用执行到TFrame及其子类创建前将Exe的Application.Handle赋值给DLL的Application.Handle,即可解决此问题。
2023-11-24 16:18:50
675
原创 C#关于Convert.ToDouble耗时长问题
if (double.TryParse("超行程", out L))L = Convert.ToDouble("超行程");L = Convert.ToDouble("超行程");当点击按钮执行时,此函数非常耗时,近乎执行不完。这个执行很快,不到10ms。
2023-09-03 16:27:08
198
原创 Delphi浮点数显示精度问题
经过单步调试,发现 在从数据集中获取值(LTemp:= ADOTable1.FieldByName('Value1').AsFloat;)时便是如此 :数据库中值为10.1,获取时 LTemp为10.1000003814697。通过更改设置Access数据库,字段为:数字->双精度,当界面表格显示时,采用赋值单元格形式。软件使用Access数据库,字段设置:数字->单精度,当界面表格显示时,采用赋值单元格形式。
2023-03-06 16:08:46
1048
原创 关于Delphi中执行带有双引号(“)的SQL语句更新字段值报错问题解决
在Delphi中使用TADOConnection的Execute直接执行SQL Update语句更新表中字段值,若字段值为字符串,使用ADOConnection.Execute(Format('UPDATE %s SET %s= "%s" WHERE %s ',[Table, Filed, Value, Condition]))即可,但当Value含有带双引号(")字符时,会导致执行报错(语法错误(操作符丢失)在查询表达式中),采用ADOConnection.Execute(Forma...
2021-05-25 11:02:32
617
原创 双IPv4问题导致电脑连网异常
今天遇到一个问题,服务端软件开启但一直报错,表示服务器IP或端口被占用或不存在,重启电脑或路由多次不能解决问题。经过排查发现,出现了双IPv4。这个现象是因为网络中IP地址冲突导致的,Win7以上系统不再报IP地址冲突,以双IP显示。解决方案:将这个IP地址从路由器的DHCP地址池中去除或是更换一个IP地址。...
2021-04-21 14:56:21
4954
原创 Delphi x64位 ASM(汇编代码问题)
新的Delphi开发平台可以编译x64位程序,但其内嵌汇编代码与x86不一样,内嵌汇编就要整个函数都用会编写,而x86不需要整个函数都是汇编,如下所示: function PortIn(Address: Word): Byte; {-Use this instead of Port since it works in both 16 and 32-bit mode} {$IFD...
2019-10-11 10:43:28
1560
原创 解决:[DCC Fatal Error] **.dpk : E2202 Required package '***' not found
//[DCC Fatal Error] **.dpk : E2202 Required package '***' not found意思是:【DCC致命错误] *:E2202 需要包***没有发现主要原因是该所需要的包的dcu,dcp,bpl文件没有在搜索路径下。解决过程:在项目配置属性(Project->Options)中的(如下图所示)Search path中将需要...
2019-09-26 18:35:06
3309
转载 使用VS2010 C#开发ActiveX控件
最近做读卡器的B/S应用程序开发,由于读卡器厂商提供的手册都是C/S版本的,而且只有一个原始的Dll包,并没有web版的,那么就只好自己动手,丰衣足食了。要开发Web版的读卡程序,大体思路如下:1.使用C#对原始的Dll进行封装,这里要封装两部分内容,一部分是串口通信的功能,一部分是对卡读写的功能。2.开发ActiveX控件调用封装后的Dll...
2019-03-13 15:26:03
450
转载 C#编写COM组件
软件:Microsoft VisualStudio 20101、新建一个类库项目2、将Class1.cs改为我们想要的名字(例如:MyClass.cs)问是否同时给类改名,确定3、修改Properties目录下面的AssemblyInfo.csComVisible属性设置为true改成下图4、项目->MyLib属性切换到“生成”...
2019-03-13 15:10:58
308
转载 如何在Delphi 中调用C#生成的DLL类库
最近需要写一个和给上位机和下位机通讯的接口,而上位机是用Delphi开发的,所以就需要用C#做一类库给Delphi调用大概步骤:1、首先在VS2008中新建一个类项目名为TestDelphi,然后添加一个接口文件命名为ITest.cs源代码如下:using System;using System.Collections.Generic;using System.Text;u...
2019-03-12 12:04:46
3570
2
原创 Visual Studio 2017直接生成dll的tlb
在电脑“程序”中以管理员权限运行 VS2017的开发人员命令提示符输入:RegAsm /tlb XXX.dll 或 tlbexpxxx.dll/out:xxx.tlb命令生成了 xxx.tlb回车后,生成dll对应tlb文件到dll所在目录下若dll自身的类属性是COM可见,则tlb中存在,否则其他工具加载tlb文件,类可能为空...
2019-03-11 14:55:38
2226
原创 Delphi exe运行进入不到Application.Initialize
可能原因:exe静态调用了DLL,而DLL加载执行报错,会导致报错未弹出显示,如此exe进程一直挂起。解决办法:改静态调用为动态调用即可。可能原因:exe项目文件设置<ModuleSuppert>为False解决办法:删掉<ModuleSuppert>或设置True...
2019-03-06 10:20:40
541
转载 SetForegroundWindow以及 如何将一个某个窗口提到最顶层
函数:SetForegroundWindow 函数功能:该函数将创建指定窗口的线程设置到前台,并且激活该窗口。键盘输入转向该窗口,并为用户改各种可视的记号。系统给创建前台窗口的线程分配的权限稍高于其他线程。函数原型:BOOL SetForegroundWindow() SetForegroundWindow()函数本身是不带参数的,具体激活某个窗口的方法可以用: pWnd->...
2019-02-24 17:18:28
887
原创 修正FastReport报表添加参数时候报错 "标识符未宣告: "
procedure TForm1.Button1Click(Sender: TObject);var ltemp : TfrxVariable;begin ltemp := frxReport1.Variables.Add; ltemp.Name := ' TESTVAR' ; frxReport1.Variables.AddVariable('TESTVAR','测试','12'); ...
2018-07-16 15:24:23
3240
原创 关于C#与Delphi DLL调用及回调问题注意事项
1.Delphi封装的函数API及定义的函数类型(用于回调)中参数的修饰关键词尽不使用const2.Delphi封装的函数API及定义的函数类型(用于回调)中参数的修饰关键词使用const,对应C#中申明需带ref3.Delphi封装的函数API及定义的函数类型(用于回调)中参数传址使用var,对应C#中使用ref4.Delphi封装的函数API及定义的函数类型(用于回调)中参数传值不
2017-09-30 11:20:48
465
转载 Delphi Dll线程使用Synchronize同步导致线程假死的解决方法
经试验可以在dll工程文件中加入以下语句 :Application.Initialize;if Application.Handle = 0 thenbegin Application.CreateHandle;end;Application.Run;解决线程中使用Synchronize 假死的问题,或者在线程中直接使用SendMessage替代S
2017-07-13 16:06:00
1485
转载 Delphi 编译器版本
{$IFDEF VER999}//some delphi 2010-specific code here{$ENDIF}What version # do I need to use in place of "999"?{$IFDEF VER40} - Turbo pascal 4{$IFDEF VER50} - Turbo pascal 5{$IFDEF VER55}
2017-07-06 16:41:50
872
原创 FastMM与Indy组件内存泄漏问题
操作系统 Win10平台 Delphi7在项目文件中,使用 FastMM4。program ProjectOfTestComm;uses FastMM4,只要在项目中使用了Indy组件,在平台上调试运行,在关闭时会弹出即存在内存泄漏。这个是Indy组件自身携带,属于平台自身问题。...
2017-07-04 16:36:34
392
转载 Boss3g软件开发规范
命名规范制定意义 1 方便代码的交流和维护,便于日后自己的再次阅读。 2 不影响编码的效率,不与大众习惯冲突。 3 使代码更美观、阅读更方便。 4 使代码的逻辑更清晰、更易于理解命名规范制定原则首要原则有意义的,描述性的词语来命名。能够一眼看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了1. 除约定俗成的,别用缩
2017-06-29 22:51:36
340
转载 软件企业如何实施CMM?
CMM(软件过程能力成熟模型)的主要思想很清楚,标准的条例也很明确,但如何达到这种标准的可操作性比较差,可参考的、可借鉴的具体实施步骤比较少。 国内的绝大部分软件企业目前处于CMM的初级阶段,没有基础和经验。在实施CMM的过程中,往往感到迷茫,不知从何处下手。本文讨论软件企业实施CMM或通过CMM评估所必须经历的步骤,希望能起到一个抛砖引玉的作用,软件企业实际实施CMM时,可以根据
2017-06-29 21:54:10
680
原创 Delphi 关于DLL中使用TThread类或其子类的使用注意事项
使用Loadlibrary()、FreeLibrary(),调用DLL;若DLL中使用了TThread类或其子类,那么TThread类或其子类不能在DLL中单元文件的finalization或TheExitProc中调用释放,即不能在FreeLibrary时,释放,否则会使FreeLibrary卡死
2015-10-15 14:16:24
924
转载 delphi 陷阱
初学DelphiI的人,由于各种原因,对DelphiI中的许多概念不能很好的理解,并由此带来了许多的问题,或者是开发出的程序稳性不好,一会能运行,一会又不能运行;或者是遇到一个问题久思不得其解,还误以为是DelphiI自身的BUG,等等这些,浪费了我们大量的时间、精力,也影响了我
2011-10-13 14:12:39
323
原创 Delphi7 修改单元文件的名字
使用delphi7开发项目, 在项目的进行中,如要修改单元文件的文件名,按一下过程:1:由于delphi的单元文件名在保存时,自动命名,unit.pas、form.dfm、unit内部文件名是相同的;所以在修改时,直接将所要修改的单元文件在这三处全部修改成想要的名称。2:
2011-10-12 10:20:24
2277
转载 解决phpmyadmin中文乱码问题(转)
<br />去phpMyAdmin的根目录下,打开以下这个文件:<br /><br />libraries/select_lang.lib.php<br /><br />1、找到有"zh-gb2312"的那一行,把'zh-gb2312' 改成 'zh-gb2312-utf-8'<br /> 为什么这样加?那是因为服务器会把没有"-utf-8"的语言过滤掉,在libraries/database_interface.lib.php 第168行,根据英文说:“为了防止混淆”,或者如果不把'zh
2010-09-03 10:43:00
251
转载 DOS命令
<br />CD 路径切换<br />APPEND 将指定目录中的数据文件当做当前目录中的文件打开 <br />ATTRIB 显示或改变文件的属性 <br />BREAK 设置或清除扩展的[CTRL+C]检查 <br />BUFFERS 在系统启动时,分配指定数量的磁盘缓冲区内存 <br />CALL 在一个批处理程序中调用另一个批处理程序,而父批 <br />处理程序不终止 <br />CHCP 显示活动字符集(代码页)的序号 <br />CHDIR(CD) 显示当前目录名
2010-09-02 12:15:00
217
COM 技术内幕——微软组件对象模型
2009-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人