Changeset 147


Ignore:
Timestamp:
May 8, 2007, 8:49:23 PM (18 years ago)
Author:
RBRi
Message:

enhanced debugging output

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NewView/CmdLineParameterUnit.pas

    r128 r147  
    5353       searchText : AnsiString;
    5454       debugEnabled : boolean;
     55       nhmDebugMessages : TStringList;  // for better debugging strange situations
    5556
    5657       FUNCTION handleSwitchWithValue(const aSwitchString : String; const aSwitch : String; var aValue : String) : Boolean;
     
    8081       PROCEDURE parseCmdLine(const aCmdLineString : AnsiString);
    8182       FUNCTION getOwnHelpFileName: String;
     83       PROCEDURE addNhmDebugMessage(const aString : String);
    8284  end;
    8385
     
    9092uses
    9193  DOS,
    92   FileUtilsUnit;
     94  FileUtilsUnit,
     95  VersionUnit;
    9396
    9497  PROCEDURE TCmdLineParameters.writeDetailsTo(aStrings : TStrings);
    9598  var
    9699    tmpWindowPosition : TWindowPosition;
    97   begin
     100    i : integer;
     101  begin
     102    aStrings.Add('---- Version ----');
     103    aStrings.Add('  ' + GetAppVersion);
     104    aStrings.Add('');
     105
     106    aStrings.Add('---- Command Line ----');
    98107    aStrings.Add('''' + commandLine + '''');
    99108    aStrings.Add('isDebugEnabled: ' + boolToStr(isDebugEnabled));
     
    122131    aStrings.Add('  ownerWindow: ' + intToStr(getOwnerWindow));
    123132    aStrings.Add('  windowTitle: ' + getWindowTitle);
     133
     134    if nil <> nhmDebugMessages then
     135    begin
     136      aStrings.Add('');
     137      aStrings.Add('---- NHM DebugMessages ----');
     138      for i := 0 to nhmDebugMessages.count-1 do
     139      begin
     140        aStrings.Add('  ' + nhmDebugMessages[i]);
     141      end;
     142    end;
     143
    124144  end;
    125145
     
    494514  Var
    495515    tmpParts : TStringList;
     516    tmpScreenWidth : longint;
     517    tmpScreenHeight : longint;
    496518  Begin
    497519    tmpParts := TStringList.Create;
    498520    StrExtractStrings(tmpParts, aParamValue, [','], '\');
    499521
    500     result.Left := ParseWindowPositionPart(tmpParts[0], WinQuerySysValue(HWND_DESKTOP, SV_CXSCREEN));
    501     result.Bottom := ParseWindowPositionPart(tmpParts[1], WinQuerySysValue(HWND_DESKTOP, SV_CYSCREEN));
    502 
    503     result.Width := ParseWindowPositionPart(tmpParts[2], WinQuerySysValue(HWND_DESKTOP, SV_CXSCREEN));
     522    tmpScreenWidth := WinQuerySysValue(HWND_DESKTOP, SV_CXSCREEN);
     523    tmpScreenHeight := WinQuerySysValue(HWND_DESKTOP, SV_CYSCREEN);
     524
     525    result.Left := ParseWindowPositionPart(tmpParts[0], tmpScreenWidth);
     526    result.Bottom := ParseWindowPositionPart(tmpParts[1], tmpScreenHeight);
     527
     528    result.Width := ParseWindowPositionPart(tmpParts[2], tmpScreenWidth);
    504529    if result.Width < 50 then
    505530      result.Width := 50;
    506531
    507     result.Height := ParseWindowPositionPart(tmpParts[3], WinQuerySysValue(HWND_DESKTOP, SV_CYSCREEN));
     532    result.Height := ParseWindowPositionPart(tmpParts[3], tmpScreenHeight);
    508533    if result.Height < 50 then
    509534      result.Height := 50;
     
    631656
    632657    result := FindDefaultLanguageHelpFile('NewView', tmpLanguage);
     658  end;
     659
     660
     661  PROCEDURE TCmdLineParameters.addNhmDebugMessage(const aString : String);
     662  var
     663    tmpLanguage : String;
     664  begin
     665    if nil = nhmDebugMessages then
     666    begin
     667      nhmDebugMessages := TStringList.Create;
     668    end;
     669
     670    nhmDebugMessages.add(aString);
    633671  end;
    634672
     
    655693    AnsiSetString(result, tmpParams, StrLen(tmpParams));
    656694  END;
     695
     696
    657697END.
Note: See TracChangeset for help on using the changeset viewer.