检查断言是否在Delphi中处于活动状态的条件是什么?
当代码中的断言不活动时,我希望能够做一些事情来抑制有关未使用变量的提示
procedure Whatever;
var
v : Integer;
begin
v := DoSomething;
Assert(v >= 0);
end;
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,当断言未激活时,会有一个关于变量v被赋予从未使用的值的提示.
代码在一个将在各种环境中使用的库中,因此我能够专门测试断言,而不是像DEBUG那样的自定义条件.
我有一个DLL,我想使用它的一些功能.
#include <iostream>
using namespace std;
extern "C" __declspec(dllimport) int Initialize(char* localPort, char* adminServerName, int rpcTimeout);
int main()
{
int res = Initialize("7864", "6000@kabc", 10000);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我没有DLL的.lib文件,所以无论如何我可以链接到它.我想到的一件事是使用LoadLibrary函数,然后使用GetProcAddress().还有其他方法吗?
当我编译以下代码时
错误LNK2019:函数_main中引用的未解析的外部符号_ imp _Initialize
致命错误LNK1120:1个未解析的外部因素
我得到了上述错误
我正在使用Windows和Visual Studio 2008
我记得有些人做了他的一个IDE专家,更换了库存对象检查员添加过滤等
但我坦率地忘了它的名字
它是如此通用,谷歌搜索我只能得到OI的运行时克隆,而不是IDE加载项.
以下是一些重载函数.试着猜出那些被调用的功能.
program Project2;
{$APPTYPE CONSOLE}
uses
Types, SysUtils;
procedure Some(const Buf); overload;
begin
Writeln('const-typeless')
end;
//procedure Some(var Buf); overload;
// begin
// Writeln('var-typeless')
// end;
//procedure Some(Buf :TByteDynArray); overload;
// begin
// Writeln('Byte dynamic array');
// end;
procedure Some(Buf :array of Byte); overload;
begin
Writeln('Byte open array');
end;
procedure Some(Buf :TArray<Byte>); overload;
begin
Writeln('TBytes AKA byte generic array');
end;
//procedure Some(Buf :TBytes); overload;
// begin
// Writeln('TBytes AKA byte generic array');
// end;
var p: pointer;
begin
try
{ TODO …Run Code Online (Sandbox Code Playgroud) 以下函数不使用64位Delphi XE2编译器进行编译.(错误都与fld指令有关.)
[dcc64 Error] Project1.dpr(12): E2116 Invalid combination of opcode and operands
[dcc64 Error] Project1.dpr(13): E2116 Invalid combination of opcode and operands
[dcc64 Error] Project1.dpr(20): E2116 Invalid combination of opcode and operands
Run Code Online (Sandbox Code Playgroud)
第12和13行:
fld Y
fld X
Run Code Online (Sandbox Code Playgroud)
第20行:
fld X
Run Code Online (Sandbox Code Playgroud)
不幸的是我没有装配技能,而且我正在使用第三方代码,我需要将其移植到64位.你能帮助我使它在32位和64位上工作吗?
function PartArcTan(Y, X: Extended): Extended;
asm
fld Y // st(0) = Y
fld X // st(0) = X
fpatan // st(0) = ArcTan(Y, X)
fwait
end;
function ArcSin(X: Extended): Extended; // -1 <= X <= 1
asm …Run Code Online (Sandbox Code Playgroud) 我是Delphi Prism 2011的新手.在哪里可以找到编写和测试基本Hello,世界类型网站的分步说明?我需要编写,运行和调试一个简单的网站,以了解IDE的工作原理,并确保包括与Microsoft IIS的链接的安装是正确的.提供相同信息的备用教程也没问题.谢谢.
http://en.wikipedia.org/wiki/REPL读取\xe2\x80\x93eval\xe2\x80\x93print_loop
\n\nDelphi 有这样的东西吗?\n在处理几乎没有记录的边界情况时,探索 DLL(例如 Windows APi)并概述它们的用法将非常有用。
\n\n我尝试过 pascal 脚本,例如 Cnwizards 中的脚本,但它不太舒服。\n例如,它不能使用像 Windows.pas 这样的单位,你必须为它制作一些你自己的奇怪的存根。
\n\n无论如何,这些脚本在“尝试这个尝试那个”场景中不如 Repl 那么容易使用。
\n\n对于 Delphi 对象,大多数情况下它会在断点处暂停并使用评估/修改窗口,但它仅适用于 Delphi 对象,不适用于 DLL;它不能创建临时变量来缓存值等。
\n我正在将数据从CxDBGrid导出到Excel文件.我能够创建文件并在其中复制数据,但我在列格式化方面遇到了麻烦.由于我从数据库中提取数据,我希望电子表格能够反映出类型:NUMBER,VARCHAR2,DATE等等.我在视觉上创建了一个宏,去寻找VBA代码,并在Delphi项目中复制它:
sheet.Columns[K+2].NumberFormat := '0,000'; //Number
sheet.Columns[K+2].NumberFormat := '@'; //Text
sheet.Columns[K+2].NumberFormat := 'm/d/yyyy'; //Date
Run Code Online (Sandbox Code Playgroud)
数字格式在大多数情况下都可以正常工作,但其他两个则没有.当我打开生成的文件时,文本列显示为"Custom"类型,每个单元格显示"-64".如果我去编辑一个单元格,那么实际上就是正确的值.日期是另一个问题:数据库的格式是dd/mm/yyyy,如果我按原样将其提供给Excel,它会搞得一团糟.我尝试设置正确的格式,但Excel无法识别它.
有线索吗?
我也设置了列宽.这完美无瑕.
是否可以使用默认参数创建一个函数指针
TFunctionPointer = function(sName:AnsiString; tOptional: TObject = nil):smallint;
Run Code Online (Sandbox Code Playgroud)
我想要实现的目标:
一个函数指针,可以接受类型的函数
function A(sName:AnsiString)
Run Code Online (Sandbox Code Playgroud)
要么
function B(sName:AnsiString, tOptional: TObject)
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我使用的是Lazarus IDE的最新版本,Memo1我的TForm1上有一个.我必须加载一个文本文件Memo1,然后编辑备忘录的每一行(我使用Memo1.Lines.Strings[i] := ...).最后,我必须将编辑的备忘录保存在特定路径中.
问题:我正在寻找更快的方式:
while循环(直到我的*.txt文件末尾)逐行读取文件,编辑内容并将其保存在新文件中.(加载行 - >编辑 - >写入|加载 - >编辑 - >写入|加载行 - >编辑 - >写入... ...)我是Delphi开发的新手,我也读过一些关于TStringLists.我的文本文件将有很多行(它可能有5000多行),我不希望我的程序失去性能.
有什么建议吗?我应该使用TStringList我之前列出的两种方法之一吗?
delphi ×8
delphi-xe2 ×3
32bit-64bit ×1
add-in ×1
arrays ×1
assembly ×1
assert ×1
c++ ×1
delphi-prism ×1
delphi.net ×1
dllimport ×1
excel ×1
file-io ×1
fpc ×1
fpu ×1
ide ×1
inspector ×1
lazarus ×1
linker ×1
overloading ×1
oxygene ×1
pointers ×1
quantumgrid ×1
runtime ×1
signature ×1
text-files ×1
visual-c++ ×1