2012-07-19 1 views
0

NSIS 함수 LineFind을 사용하고 있습니다.FindLine 함수가 모든 줄을 보지 않았습니다.

내 문제점 : LineFind 기능은 파일의 첫 번째 줄만 검색 한 다음 중지합니다. 끝날 때까지 파일의 다음 행으로 이동하지 않습니다. 기능이 내 TargetLine에 대한 파일의 모든 행을 검색하는 것이 아닌가요?

LineFind에서 첫 번째 줄뿐만 아니라 모든 줄을 검색하려면 어떻게합니까?

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 

답변

1

는 답을 찾았 난 그냥 콜백 함수의 끝에서 숫자 값을 밀어 필요가 내가보고 계속하려면 "신호"에

Function FindLineCallback 
    DetailPrint "LINE: $R9" 

    Push 2 
FunctionEnd 
관련 문제