0

NSIS関数LineFindを使用しています。

私の問題:関数LineFindは、ファイルの1行目を検索してから停止するだけです。最後までファイルの次の行に移動しません。この関数は、ファイルのすべての行でTargetLineを検索するためのものではありませんか?

LineFindで1行目だけでなく、すべての行を検索するにはどうすればよいですか?

Function FindLineCallback
    # Only ever prints out the first line and never runs this function again
    DetailPrint "LINE: $R9"

    ...Unrelated code to check line
FunctionEnd

Function FindLine
    # TOP = Top of stack
    # T-2 = mDir
    # T-1 = mFile
    # TOP = targetStr

    Pop $R8  # targetStr
    Pop $R7  # mFile
    Pop $R6  # mDir 

    ${LineFind} "$R6\$R7" "" "1:-1" "FindLineCallback"

FunctionEnd
4

1 に答える 1

1

答えが見つかりました:コールバック関数の最後にある数値をプッシュして、探し続けたいことを「通知」する必要があります

Function FindLineCallback
    DetailPrint "LINE: $R9"

    Push 2
FunctionEnd
于 2012-07-19T06:35:48.150 に答える