QMacros 默认是通过宏的开始字符串和结束字符串来区隔宏名称的。但这并不是所有的时候都能满足我们的需要,比如下面的字符串中,我们用 $ 来开始宏名称,遇到非数字时,宏名称就结束: Replace $1.Name to $2.Name 根据前述规则,$1 和 $2 我们人工就可以解析出两个宏 1 和 2,而由于没有宏
标签: 结束
QMacros该如何处理在内容中出现起始和结束符?
这是一个很现实的问题,比如我们定义了宏的开始符号为 “[” ,宏的结束符为 “]”,那么如果我们要在模板中包含 “[” 和 “]” 该怎么办呢? 答案就是宏转义,我们可以定义宏 MacroStart , MacroEnd 分别对应下面的宏定义,然后入栈如下: AMarcoMgr.Push(‘MacroStart’,'[
线程正确的退出等待方式
一个线程如果退出时,我们习惯写下如下代码: AThread.Terminate; … AThread.WaitFor; AThread.Free; 但在DLL中调用会在WaitFor的地方出现死等的现象,线程无法退出。 改为下面的代码可以解决: AThread.Suspended:=False;//线程如果没运行强