我之前发布了一个问题,远离VSS,我在其中询问了使用VSS的Delphi开发人员的最佳VCS控制.大多数开发人员似乎都使用带有TortoiseSVN的svn.我试了好几天,我觉得这是最好的选择.
但是,我仍然对svn的工作方式有些困惑,所以这里有一些我想回答的问题:
我可以使用vss使用的旧锁定方式(checkout-modify-checkin)吗?
Delphi表单有两个文件(MyForm.pas,MyForm.dfm).当我向表单添加任何控件时,两个文件都将被修改,所以我想提交"myform.pas"并让"myform.dfm"也提交它.我在这里错过了什么吗?
这同样适用于Delphi项目文件.因为这与其他文件链接,所以当我更改项目文件时应该提交所有文件.
您在TSVN中标记了哪些文件被忽略,因此TSVN不会查找像(.dcu, .exe,...)这样的文件,我可以将它从一个Pc导出到其他文件吗?
我现在必须改变我在vss风格中思考的方式,并且需要将其更改为SVN风格,但是使用vss,所有内容都在IDE中管理,这非常棒;-).
更新:
5.如果我提交Delphi表单(.pas和dfm)并发现之前已经更新了一个版本,如果在该表单和单元中添加了一些新的控件和事件,那么如何解决冲突(这需要Delphi开发人员使用svn ).
我已经放弃了 Delphi 7 调试器,并且非常依赖于输出调试字符串。是否有一个标准函数可以调用以将对象的内容作为字符串获取,就像设置断点时调试器会执行的那样?
我使用Fastreport 4.我需要直接打印到打印机而不显示Print Dialog.我已取消选中"打印选项"中的ShowDialog,但它会一直显示打印对话框.任何帮助将非常感激.
我目前正在使用此代码,但没有列出任何内容.我错过了什么?
program ListAttrs;
{$APPTYPE CONSOLE}
uses
Rtti,
SysUtils;
type
TPerson = class
private
FName: String;
FAge: Integer;
public
[NonEmptyString('Must provide a Name')]
property Name : String read FName write FName;
[MinimumInteger(18, 'Must be at least 18 years old')]
[MaximumInteger(65, 'Must be no older than 65 years')]
property Age : Integer read FAge write FAge;
end;
procedure test;
var
ctx : TRttiContext;
lType : TRttiType;
lAttribute: TCustomAttribute;
lProperty : TRttiProperty;
begin
ctx := TRttiContext.Create;
lType := ctx.GetType(TPerson);
for lProperty in lType.GetProperties …Run Code Online (Sandbox Code Playgroud) 我发现我可能不得不使用少于10列的字符串网格,但大约有5万行.
实验表明它是一个非常反应迟钝的CPU.
有什么指针吗?
代码或组件?
最好是Delphi(7)内置或TMS(我有许可证)或FOSS(用于商业用途).
更新:请不要只是告诉我使用虚拟树视图等.请告诉我原因,以便我可以学到一些东西.谢谢.
嗨人们有一种方法,我可以直接从内联汇编程序访问指向结构成员的指针我试过这个
procedure test(eu:PImageDosHeader);assembler;
asm
push eu._lfanew
end;
Run Code Online (Sandbox Code Playgroud)
它不会编译,但如果我使用它
procedure test(eu:Pointer);
var
xx:TImageDosHeader;
begin
xx:=TImageDosHeader(eu^);
asm
push xx._lfanew
end;
end;
Run Code Online (Sandbox Code Playgroud)
它工作得很好.任何想法如何通过内联asm中的指针访问结构?是优化代码的问题
我正在尝试将Redmine与TortoiseSVN集成,但我无法做到这一点,因为TSVN总是给我这个错误:
"没有可用的问题跟踪器提供商."
我按照以下步骤操作:
http://myweb/../issues/show/%BUGID%'我不确定是否有任何遗漏的步骤或我必须做什么来进行整合.
或者我应该看看trac,因为它似乎更稳定并且有更好的支持?
以下情况:
type
TRec = record
Member : Integer;
end;
TMyClass = class
private
FRec : TRec;
public
property Rec : TRec read FRec write FRec;
end;
Run Code Online (Sandbox Code Playgroud)
以下不起作用(左侧不能分配),这是可以的,因为它TRec是一个值类型:
MyClass.Rec.Member := 0;
Run Code Online (Sandbox Code Playgroud)
在D2007中,虽然以下内容有效:
with MyClass.Rec do
Member := 0;
Run Code Online (Sandbox Code Playgroud)
不幸的是,它在D2010中不起作用(我认为它在D2009中也不起作用).第一个问题:为什么?故意改变了吗?或者它只是其他一些变化的副作用?D2007的解决方法只是一个"错误"吗?
第二个问题:您如何看待以下解决方法?使用安全吗?
with PRec (@MyClass.Rec)^ do
Member := 0;
Run Code Online (Sandbox Code Playgroud)
我在这里谈论现有代码,因此必须进行的更改才能使其工作应该是最小的.
谢谢!
到目前为止,我正在使用Delphi 7进行开发.为了将fe TStringLists传递给我的DLL,我使用FastShareMem单元作为每个程序中的第一个单元,并且我开发了dll.
如果我应该迁移到Delphi-2010,FastShareMem仍然是必要的吗?
感谢您提供的任何见解.
delphi ×9
delphi-2010 ×3
svn ×2
tortoisesvn ×2
assembly ×1
attributes ×1
debugging ×1
delphi-2007 ×1
delphi-7 ×1
delphi-xe ×1
fastreport ×1
records ×1
redmine ×1
rtti ×1
trac ×1