我开发了一个遗留的 Delphi 6 应用程序,我想增加其中一个表单的字体大小。所有其他形式都有Microsoft Sans Serif 8pt,但这一形式设置为Microsoft Sans Serif 7pt。所有控件都有ParentFont = True,所以我可以简单地将表单的字体大小设置为8pt. 问题是表单及其控件不会调整大小,并且标签的文本会重叠。有没有一种简单的方法可以在调整字体大小后调整表单大小,而无需在表单编辑器中手动调整其控件大小?
我是传统Delphi应用程序的维护者.在运行此程序的计算机上,Application Error有时会出现标题引用此Delphi应用程序以及如下消息:
"......"处的指令引用"......"处的存储器.内存无法"读取".
单击"确定"以终止该程序.
任务管理器说属于此消息框的进程是csrss.exe.这将是一个系统化的方法来发现这个错误的根本原因?
问题是,这个Delphi程序相当复杂,并且错误消息相对较少出现,因此我不能简单地单步执行代码并找到导致错误的部分.此外,应用程序会自动运行,无需用户中断,因此我无法询问用户当消息出现时她做了什么.应用程序和系统日志不表示任何问题.当消息框存在时,应用程序不会停止工作.
我希望有人之前遇到过这样的错误信息,并且能够解决问题.提前谢谢你的帮助.
我有两张图片:
left.jpgis- 250pxby- 47px,right.jpg是1px-by- 47px.这些被放入同一表格行的两个单元格中:
left.jpg进入<img>标签的左侧单元格,right.jpg进入正确的细胞,就像它一样background-image.这是HTML:
<table>
<tbody>
<tr>
<td><img src="left.jpg" /></td>
<td background="right.jpg" width="100%"></td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
CSS:
* {
margin: 0;
padding: 0;
}
table {
width: 100%;
border-bottom: solid 1px black;
border-collapse: collapse;
}
Run Code Online (Sandbox Code Playgroud)
我做了一个jsfiddle测试页面.渲染结果存在问题:单元格52px高而不是单元格47px,这会在左侧单元格中的图像下方创建白色条带.

问题:如何制作单元格高度47px,消除白条?谢谢!
更新:这些都没有帮助:
tbody { height: 47px; }
tr { height: 47px; }
td { height: …Run Code Online (Sandbox Code Playgroud) 我不得不在一个已有20年历史的Delphi 7应用程序中修复某些问题。修复之后,我认为我将通过修复GUI主题来改进应用程序,因此我将该XPManifest组件放在了主窗体上。尽管这使大多数控件具有更好的外观,但仍然存在一些问题。例如,在蓝色背景(blargh)上有带有黄色文本的复选框和单选按钮,主题设置的黑色文本颜色使其标签不可读。因此,我决定删除该XPManifest组件并重建程序以恢复原始外观。
有趣的是,在删除XPManifest并重新编译exe 之后,GUI主题仍然保留。我检查了DFM,但XPManifest实际上不在其中。我怎样才能解决这个问题?
我正在尝试为Delphi 7安装第三方软件包.打开DPK后,我按下Install按钮,File not found出错了.如果我先按Compile,然后按下,也会发生同样的情况Install.
错误消息指contains的是DPK部分中首先列出的单元.包目录不包含PAS文件,但它包含该 contains 部分中列出的每个PAS的DCU .包目录被添加到Library path.我试图关闭Explicit rebuild,但它没有帮助.我还尝试删除对PAS文件的引用并添加DCU文件,但错误消息保持不变.
Delphi显然想重新编译包,但我没有源文件.我该怎么做才能使它使用DCU?提前谢谢你的帮助.
我想使用具有字节数组参数的方法为某些类编写单元测试。总共大约有100种方法,数组大小从5-10到几百个字节。我应该如何生成和存储测试阵列?
我开始手动创建它们,并将它们存储在测试代码中的十六进制字符串中。我使用这样的二进制字符串做了很多工作,因此我可以相对轻松地读取它们(“我什至看不到代码。我所看到的只是金发,黑发,红发。”)问题是,这种方法很慢,而且我认为使用自动生成器将导致更易于维护的测试。但是,我应该如何测试发电机的输出是否正确?听起来像Catch-22 ...
是否可以手动使用ASP.NET WebAPI创建RESTful Web服务,我的意思是,没有Visual Studio?什么是必需的文件以及如何在服务器上安装它们?说,我想重现这个例子.
我在Delphi中创建了一个VCL应用程序,并使用Project/Options对话框设置应用程序图标.我还通过向项目添加RC文件为应用程序添加了其他图标.这些都不在RC文件中命名为"MAINICON",以避免与应用程序图标资源冲突.
EXE包含所有图标:应用程序图标以及RC文件中列出的其他图标.当我启动EXE时,主窗体和任务栏按钮都将按预期显示应用程序图标.
该问题是,文件管理器(资源管理器时,Total Commander等)显示为EXE额外的图标之一.为什么?是否可以在文件管理器中显示应用程序图标?
谢谢!
我正在开发一个单页网络应用程序。它具有ASP.NET Core 3后端和Angular 9前端。我在 Visual Studio 中的 IIS Express 上运行后端,网址为http://localhost:59280。前端在 Visual Studio Code 中运行,使用ng servehttp ://localhost:4200。之前我不需要在后端开启 CORS,因为我只在 Chrome 中测试了应用程序,添加--disable-web-security命令行参数就足以关闭同源策略。在实时服务器上不需要 CORS,上述跨域情况仅发生在我的开发机器上。
现在我想在 Firefox 中调试前端,但由于无法关闭 Firefox 的同源策略,所以我必须在后端打开 CORS。不幸的是,它不起作用,因为我使用 Windows 身份验证,并且它会停止默认未经身份验证的CORS 预检请求。如果我可以在没有 Windows 身份验证的情况下处理 HTTP OPTIONS 请求,则可以解决此问题。我认为这可以通过在web.config中添加类似的内容来完成:
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="true" />
</authentication>
<authorization>
<add accessType="Allow" verbs="OPTIONS" users="*" />
</authorization>
</security>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
...但我收到一条错误消息:“此配置节不能在此路径上使用。当该节被锁定在父级别时,就会发生这种情况。” 显然 web.config 与launchSettings.json冲突,后者似乎在 Visual Studio 中的 IIS Express 上运行后端时控制身份验证,使用以下两行:
{
"iisSettings": …Run Code Online (Sandbox Code Playgroud) delphi ×5
c# ×3
angular ×1
asp.net-core ×1
bytearray ×1
cors ×1
csrss ×1
css ×1
debugging ×1
delphi-7 ×1
forms ×1
hex ×1
html ×1
icons ×1
image ×1
installation ×1
intptr ×1
ip-address ×1
manifest ×1
nunit ×1
package ×1
pinvoke ×1
preflight ×1
resize ×1
rest ×1
themes ×1
unit-testing ×1
web-services ×1