' retrieve the current BUILD_PROJECT_OK macro from the global macros collection Set objMacro = Application.Macros(vbldGlobal).Item("BUILD_PROJECT_OK") Set objMacroBuildResult = Application.Macros(vbldGlobal).Item("BUILD_RESULT") 'Application.Macros(vbldGlobal).Add "PROJECTROOT", "E:\pcdps1500.AutoBuild\DPS\32DLL\ZSAPI32" Dim fso, File, sText Const ForReading = 1 Set fso = CreateObject("Scripting.FileSystemObject") if fso.FileExists("%PROJECTROOT%\DEBUG\BuildLog.htm") then set File = fso.OpenTextFile("%PROJECTROOT%\DEBUG\BuildLog.htm", ForReading, false) Builder.LogMessage " Retrieved BuildLog.htm = " & "%PROJECTROOT%\DEBUG\BuildLog.htm" end if if fso.FileExists("%PROJECTROOT%\DEBUG_7\BuildLog.htm") then set File = fso.OpenTextFile("%PROJECTROOT%\DEBUG_7\BuildLog.htm", ForReading, false) Builder.LogMessage " Retrieved BuildLog.htm = " & "%PROJECTROOT%\DEBUG_7\BuildLog.htm" end if line = "" Do while not File.AtEndOfStream line = File.ReadLine() i_numerr = InStr(line, "error(s)") i_numwar = InStr(line, "warning(s)") if i_numerr > 0 or i_numwar > 0 then ' Check for relevant line i_numerr = InStr(line, "-") + 1 ' Start position 'error(s)' i_numwar = InStr(line, "error(s), ") + 9 ' Start position 'warnings(s)' i_numend = InStr(line, "<") ' End position relevant string line = left(line,i_numend-1) line = right(line,Len(line)-i_numerr) ' Builder.LogMessage " Value: i_numerr = " & i_numerr ' Builder.LogMessage " Value: i_numwar = " & i_numwar ' Builder.LogMessage " Value: i_numend = " & i_numend Builder.LogMessage " Found information: " & line sLineArr = Split(line, " ") sArg0 = Trim(sLineArr(0)) ' Count error(s) sArg2 = Trim(sLineArr(2)) ' Count warning(s) Builder.LogMessage " error(s) = " & sArg0 Builder.LogMessage " warning(s)= " & sArg2 ' Check for error(s) 'str_errorcount = mid(line, i_numerr, 2) 'str_errorcount = Trim(str_errorcount) 'Builder.LogMessage " error value = " & str_errorcount 'i_errorcount = Cint(str_errorcount) 'Builder.LogMessage " gecasteter int = " & i_errorcount ' Check for warnings(s) 'str_warningcount = mid(line, i_numerr, i_numerr - i_numerr) 'str_warningcount = Trim(str_warningcount) 'Builder.LogMessage " warning value = " & str_warningcount 'i_warningcount = Cint(str_warningcount) 'Builder.LogMessage " gecasteter int = " & i_warningcount i_errorcount = Cint(sArg0) i_warningcount = Cint(sArg2) if i_errorcount > 0 then Builder.LogMessage " Project with error(s) or warning(s)! Marking project as failed." projectok = 0 else Builder.LogMessage " Congratulations! Project built without error(s) and warning(s)!" projectok = 1 end if Exit Do ' since we already found the string end if Loop File.Close ' store information on error(s) and warning(s) If objMacroBuildResult Is Nothing Then Application.Macros(vbldGlobal).Add "BUILD_RESULT", line Else objMacroBuildResult.Value = line End If ' Update the success flag If objMacro Is Nothing Then Application.Macros(vbldGlobal).Add "BUILD_PROJECT_OK", CLng(projectok) Else objMacro.Value = CLng(projectok) End If bOK = CLng("%BUILD_PROJECT_OK%") Builder.LogMessage " BUILD_PROJECT_OK = " & bOK Set objMacro = Nothing