delphi相关内容
我在 Windows 7 下使用 D2010 编写一个似乎需要管理员权限的应用程序(我认为是因为它使用 COM 与第三方 .exe 通信,这也需要管理员权限). 我已根据需要添加了清单资源,但是当我尝试从 IDE 调试应用程序时,它会报告 “无法创建进程.请求的操作需要海拔" ...它不会运行.如果我以管理员身份运行 Delphi,那么我的应用程序可以正常运行,但这感觉像是一种危
..
我有一个要最小化的窗口(到任务栏),所以我调用 ShowWindow: ShowWindow(Handle, SW_MINIMIZE); 除了不是最小化自身(到任务栏),窗口是图标化: 窗口没有父级: 如何将窗口最小化到任务栏? 更新: 遵循 2002 年的一些建议,我尝试设置 WS_EX_APPWINDOW 窗口样式和/或确保窗口没有所有者: 不幸的是,这改变了
..
我总是通过主要/次要版本号来检查 Windows 版本.奇怪的是,Windows 7 和 Server 2008 R2 都返回相同的主要/次要版本号组合. 通过在命令提示符中输入 ver 来确认 解决方案 GetVersionEx.这里有一个版本号及其相关版本的图表这里.请注意,2008 R2 和 Windows 7 的产品类型不同.
..
我正在使用 FireMonkey Grid 控件,但在尝试右对齐列时一直存在问题.从其他用户的帖子中,我设法创建了一个新的 TColumn 类型,对其应用样式(文本为 HorzAlign=taTrailing),理论上 - 认为这将是解决方案.这些值由 OnGetValue 函数提供给 Grid 控件. 然而问题是,虽然起初看起来不错,但如果您滚动条/鼠标滚轮等,新的 TColumn 类型列
..
InvalidateRow 和 InvalidateColum 不适用于 TStringGrid.这些方法不会使整个 Row/Col 无效. InvalidateGrid 始终有效(因此在找到错误原因之前,这可能是一个肮脏的解决方法). 在某些情况下(它似乎是随机的) InvalidateRow 和 InvalidateColum 似乎也可以工作.更新:我发现了哪些情况会触发bug:网格必
..
我一直在寻找解决方案,但没有任何运气.有谁知道一个简单的方法来做到这一点?例如,我想拉伸网格的第二列以适应网格的宽度! 解决方案 使用 ColWidths 属性,像这样: 用 StringGrid1 做ColWidths[1] := ClientWidth - ColWidths[0] - 2 * GridLineWidth; 对于更健壮和灵活的解决方案,将所有固定列考虑在内并参数化列
..
近十年前,我放弃了 Delphi 的 DBGrid,因为它根本就不好.从那以后,我使用了 Virtual TreeView,它提供了很多价值,但也存在一些问题.就像当前的开发状态(例如无)以及没有好的数据绑定版本的事实.DevExpress 的 QuantumGrid 以丰富的功能集而闻名,但确实非常昂贵.我认为它庞大的功能集对于 95% 的数据绑定网格控件的一般用例来说可能是多余的. 有谁
..
我将此处发布的示例作为我的起点:更改Firemonkey TGrid 中 TTextCell 的背景 我创建了一个引用图像的 textcellstyle,它运行良好.当我运行程序时,所有单元格都按预期显示背景图像. 从上面的链接中,Mike Sutton(我希望你正在阅读这篇文章,如果没有你的意见,我们会怎么做!)写道(在这里重复只是为了更容易): “然后,您可以设置每个单元格的
..
我的问题是如何在 Delphi 7 的 dbgrid 中设置一个带有复选框项的列. 提前致谢. 解决方案 OK我使用 这篇 文章来解决我的问题.好的,但问题是它没有按应有的方式工作.所以我在代码中改变了我的逻辑.并通过将 dbgrid 中选定的行保存在列表中来实现它.
..
我正在寻找推荐的解决方案来设置由 OnGetValue 调用绘制的 TGrid 单元格的样式(调用它来绘制视图中的单元格).作为背景,Mike 的出色回应展示了如何在创建单元格时简单地应用 tAlign 属性;但我的下一个挑战是为单元格内容着色. 以前的发帖/回答 目标是更改我即将作为单元格“值"返回的值的单元格属性(字体、样式、颜色等).在下面的例子中;它将对正在返回的 OnGetV
..
您可以从下面的代码片段中看到.我目前正在使用 adshlp 和 ActiveDs_TLB 从当前登录的用户那里收集有关 AD 的信息.我有一个表单,允许用户输入他们的 AD 密码,我在允许访问系统之前验证它是正确的.这炒得很好.我现在遇到的问题是,用户希望能够以 mydomain.com\userid 的形式输入任何 AD 和 ID,并让代码进行身份验证并带回代码当前检索到的相同数据.我还没有找到
..
例如 Font.Style = StringToSet('[fsBold, fsUnderline]'); 当然,其中需要一些 typeinfo 的东西,但你明白了.我正在使用 Delphi 2007. 解决方案 检查此代码,与您建议的语法不完全相同,但可以从字符串设置集合的值. 使用类型信息;过程 StringToSet(Const Values,AProperty:string;
..
我正在使用 indy 组件在 delphi 应用程序中实现电子邮件.我专门使用 TidSMTP 组件.我需要有效地支持所有主要的电子邮件服务器.我使用 Mozilla Thunderbird 作为我的电子邮件客户端,并将 smtp 属性与 TidSMTP 组件中的属性进行比较.我试图找到描述 TidSMTP 属性之间关系的文档,但无法弄清楚. 谁能解释一下这些比较和它们的作用: 在 T
..
当在 D2007 中编译的相同源代码生成带有正确命名为原始文件名的附件的电子邮件时,为什么我的 D2009 exe 会生成带有名为 ATTnnnnn.DAT 的附件的电子邮件? 我正在使用 D2007 和 D2009 附带的相应 Indy 库.附件中没有原始文件名会阻止用户双击附件打开它(通常附件是 Excel 电子表格). 注意:代码是相同的——只是编译器和 Indy 库有所不同.D
..
我尝试使用 Indy 组件在 XE2 中发送电子邮件,它在我编译项目的笔记本电脑上运行良好. 但是如果我将我的 exe 项目带到另一台 PC 上,它会显示一条错误消息 连接正常关闭 或者,有时我会得到 SSL 协商失败 其实我尝试了很多次来解决我的问题,但我不能. 这是我的代码 - 我的错误在哪里?我需要一个实用的解决方案. procedure Gmail(u
..
我正在使用 INDY 使用 SMTP 客户端在端口 25 上发送电子邮件,没有问题. 现在我需要使用 Gmail 帐户发送电子邮件,为此我需要使用 TLS. 谁能提供一个简单的示例来说明如何做到这一点. 谢谢 解决方案 此代码适用于 GMail: 开始IDSMTP1 := TIDSMTP.创建;IdSSLIOHandlerSocketOpenSSL1 := TIdSSL
..
这是我的配置: IdSMTP1.Host := 'smtp.gmail.com';IdSMTP1.Port := 587;IdSMTP1.UseTLS := utUseExplicitTLS;IdSMTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := ssl
..
我不熟悉 INDY SMTP 组件.我想用 INDY 和 Office 365 发送邮件.这是一个很好的话题,对我有很大帮助:SMTP Indy 组件安全和身份验证属性有什么作用?但是我没有弄清楚如何使用SASL.Office365 地址是 smtp.office365.com,端口为 587 和 TLS.所以我在表单中添加了一个 SMTP 和一个 OpenSSL-IOHandler 并设置了属性
..
我有一个项目,它有一个主窗体和一些其他窗体.当应用程序加载时,它需要执行一些任务并在主窗体顶部以模态形式显示结果.我遇到的问题是,如果我调用函数来执行任务/创建并在主窗体 onshow 事件中显示模态窗体,则模态窗体会出现,但主窗体直到模态窗体关闭时才会出现,即我期望会发生什么.为了解决这个问题,我在主窗体中添加了一个计时器,并在主窗体 onshow 事件上启动它,计时器调用函数来执行任务/创建并
..
..