自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 340

原创 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 311

原创 C#关于Convert.ToDouble耗时长问题

if (double.TryParse("超行程", out L))L = Convert.ToDouble("超行程");L = Convert.ToDouble("超行程");当点击按钮执行时,此函数非常耗时,近乎执行不完。这个执行很快,不到10ms。

2023-09-03 16:27:08 109

原创 Excel VBA使用Delphi编写的ActiveX问题

Excel VBA使用ActiveX控件的一些问题

2023-03-20 15:37:10 286

原创 Delphi浮点数显示精度问题

经过单步调试,发现 在从数据集中获取值(LTemp:= ADOTable1.FieldByName('Value1').AsFloat;)时便是如此 :数据库中值为10.1,获取时 LTemp为10.1000003814697。通过更改设置Access数据库,字段为:数字->双精度,当界面表格显示时,采用赋值单元格形式。软件使用Access数据库,字段设置:数字->单精度,当界面表格显示时,采用赋值单元格形式。

2023-03-06 16:08:46 783

原创 关于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 535

原创 双IPv4问题导致电脑连网异常

今天遇到一个问题,服务端软件开启但一直报错,表示服务器IP或端口被占用或不存在,重启电脑或路由多次不能解决问题。经过排查发现,出现了双IPv4。这个现象是因为网络中IP地址冲突导致的,Win7以上系统不再报IP地址冲突,以双IP显示。解决方案:将这个IP地址从路由器的DHCP地址池中去除或是更换一个IP地址。...

2021-04-21 14:56:21 4388

原创 Delphi10.3 进入Debug方式

buildconfigurations选debug,然后saveall,再build,然后运行Run

2019-10-11 12:34:24 900

原创 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 1292

原创 解决:[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 2923

转载 使用VS2010 C#开发ActiveX控件

最近做读卡器的B/S应用程序开发,由于读卡器厂商提供的手册都是C/S版本的,而且只有一个原始的Dll包,并没有web版的,那么就只好自己动手,丰衣足食了。要开发Web版的读卡程序,大体思路如下:1.使用C#对原始的Dll进行封装,这里要封装两部分内容,一部分是串口通信的功能,一部分是对卡读写的功能。2.开发ActiveX控件调用封装后的Dll...

2019-03-13 15:26:03 397

转载 C#编写COM组件

软件:Microsoft VisualStudio 20101、新建一个类库项目2、将Class1.cs改为我们想要的名字(例如:MyClass.cs)问是否同时给类改名,确定3、修改Properties目录下面的AssemblyInfo.csComVisible属性设置为true改成下图4、项目->MyLib属性切换到“生成”...

2019-03-13 15:10:58 274

转载 如何在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 3181 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 1994

原创 Delphi exe运行进入不到Application.Initialize

可能原因:exe静态调用了DLL,而DLL加载执行报错,会导致报错未弹出显示,如此exe进程一直挂起。解决办法:改静态调用为动态调用即可。可能原因:exe项目文件设置<ModuleSuppert>为False解决办法:删掉<ModuleSuppert>或设置True...

2019-03-06 10:20:40 479

转载 SetForegroundWindow以及 如何将一个某个窗口提到最顶层

函数:SetForegroundWindow  函数功能:该函数将创建指定窗口的线程设置到前台,并且激活该窗口。键盘输入转向该窗口,并为用户改各种可视的记号。系统给创建前台窗口的线程分配的权限稍高于其他线程。函数原型:BOOL SetForegroundWindow()  SetForegroundWindow()函数本身是不带参数的,具体激活某个窗口的方法可以用:  pWnd-&gt...

2019-02-24 17:18:28 831

原创 修正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 3012

原创 关于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 427

转载 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 1408

转载 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 816

原创 FastMM与Indy组件内存泄漏问题

操作系统 Win10平台 Delphi7在项目文件中,使用 FastMM4。program ProjectOfTestComm;uses  FastMM4,只要在项目中使用了Indy组件,在平台上调试运行,在关闭时会弹出即存在内存泄漏。这个是Indy组件自身携带,属于平台自身问题。...

2017-07-04 16:36:34 354

转载 Boss3g软件开发规范

命名规范制定意义   1 方便代码的交流和维护,便于日后自己的再次阅读。   2 不影响编码的效率,不与大众习惯冲突。   3 使代码更美观、阅读更方便。   4 使代码的逻辑更清晰、更易于理解命名规范制定原则首要原则有意义的,描述性的词语来命名。能够一眼看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了1. 除约定俗成的,别用缩

2017-06-29 22:51:36 319

转载 软件企业如何实施CMM?

CMM(软件过程能力成熟模型)的主要思想很清楚,标准的条例也很明确,但如何达到这种标准的可操作性比较差,可参考的、可借鉴的具体实施步骤比较少。   国内的绝大部分软件企业目前处于CMM的初级阶段,没有基础和经验。在实施CMM的过程中,往往感到迷茫,不知从何处下手。本文讨论软件企业实施CMM或通过CMM评估所必须经历的步骤,希望能起到一个抛砖引玉的作用,软件企业实际实施CMM时,可以根据

2017-06-29 21:54:10 613

原创 Delphi 关于DLL中使用TThread类或其子类的使用注意事项

使用Loadlibrary()、FreeLibrary(),调用DLL;若DLL中使用了TThread类或其子类,那么TThread类或其子类不能在DLL中单元文件的finalization或TheExitProc中调用释放,即不能在FreeLibrary时,释放,否则会使FreeLibrary卡死

2015-10-15 14:16:24 880

转载 delphi 陷阱

初学DelphiI的人,由于各种原因,对DelphiI中的许多概念不能很好的理解,并由此带来了许多的问题,或者是开发出的程序稳性不好,一会能运行,一会又不能运行;或者是遇到一个问题久思不得其解,还误以为是DelphiI自身的BUG,等等这些,浪费了我们大量的时间、精力,也影响了我

2011-10-13 14:12:39 295

原创 Delphi7 修改单元文件的名字

使用delphi7开发项目, 在项目的进行中,如要修改单元文件的文件名,按一下过程:1:由于delphi的单元文件名在保存时,自动命名,unit.pas、form.dfm、unit内部文件名是相同的;所以在修改时,直接将所要修改的单元文件在这三处全部修改成想要的名称。2:

2011-10-12 10:20:24 2096

转载 解决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 230

转载 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 192

COM 技术内幕——微软组件对象模型

译者前言 童年时玩过的积木块、七巧板等玩具至今仍时常引起我美好的回忆,那时的我时常沉 浸在一种忘我的想象中,用那些简单的形状构造出自己能够想象得到的各种千奇百怪的 物体。上了大学,接触到UNDI,我又深深地为它所提供的各种功能专一、小巧灵活的实用 工具所折服:通过管道,我可以把那些精巧的小程序组合起来,构造出各种功能复杂的工 具,实现单个程序达不到的功能。 初次接触到CON(组件对象模型)这个概念,我首先想到的就是积木玩具和UNIX中 那些小巧的实用程序。人类孜孜以求的目标就是将自然改造得更加符合自己的需要,让 自然物按自己的行为习惯和方式那样工作。而O)M正是微软公司为了使计算机工业的 灵魂—软件—的生产更加符合人类行为方式而开发的一种新的软件开发技术。 在以朋架构下,人们可以开发出各种各样的功能专一的“软件,,积木块(组件),然后 将它们按照需要“搭”起来,构成复杂的应用系统。由此带来的好处是多方面的:可以将系 统中的组件用新的组件替换掉,以随时进行系统的升级与定制;可以在多个应用系统中重 复利用同一个组件;可以方便地将应用系统扩展到网络环境下;COM与语言、平台无关的 特性使得所有的程序员均可充分发挥自己的才智与专长编写出组件模块;等等。 Dale Rog}是微软公司的资深技术人员,对微软各种技术的背景有着极为深刻的 了解。由他所著的(COM技术内幕)是一部全面、系统介绍COM技术的著作。为r及时 将COM这一最新的软件开发方法与思想介绍给国内的读者,我们决定将这本书翻译出 来,以期能够为国内的软件业的发展作出一定的贡献! 由于时间仓促,同时限于对《刀M的认识与理解程度,书中的错误与不足之处在所难 免,恳请读者不吝指正。 译者 199).12于北京清华园

2009-03-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除