Changeset 69


Ignore:
Timestamp:
Oct 19, 2010, 7:19:53 AM (14 years ago)
Author:
george
Message:
  • Modified: Error messsage window reworked to use TListView instead of ListBox.
  • Fixed: Focusing caret to position of error message source in code.
  • Fixed: Loading other units during parsing.
Location:
branches/Transpascal
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/Transpascal/Compiler/Analyze/UParser.pas

    r68 r69  
    365365    Parser.SourceCodeText := TStringList.Create;
    366366    Parser.ProgramCode := ProgramCode;
     367    Parser.OnGetSource := OnGetSource;
    367368    if Assigned(FOnGetSource) then begin
    368369      if FOnGetSource(Name, Parser.SourceCodeText) then begin
  • branches/Transpascal/Forms/UMainForm.pas

    r67 r69  
    5959    ReopenLastOpenedFile: Boolean;
    6060    procedure OpenRecentClick(Sender: TObject);
    61     procedure LoadErrorMessages;
    6261    procedure DockInit;
    6362    procedure LoadFromRegistry;
     
    112111
    113112  ProjectManager.TreeViewProjectChange(Self, ProjectManager.TreeViewProject.Selected);
    114   LoadErrorMessages;
    115 end;
    116 
    117 procedure TMainForm.LoadErrorMessages;
    118 var
    119   I: Integer;
    120 begin
    121   with MessagesForm do begin
    122     ListBoxMessages.Clear;
    123     for I := 0 to Compiler.ErrorMessages.Count - 1 do
    124     with TErrorMessage(Compiler.ErrorMessages[I]) do
    125       ListBoxMessages.Items.Add(FileName + '(' + IntToStr(Position.X) +
    126         ',' + IntToStr(Position.Y) + ') ' + Text);
    127   end;
     113  MessagesForm.Reload;
    128114end;
    129115
  • branches/Transpascal/Forms/UMessagesForm.lfm

    r64 r69  
    88  ClientWidth = 320
    99  LCLVersion = '0.9.29'
    10   object ListBoxMessages: TListBox
     10  object ListView1: TListView
    1111    Left = 0
    1212    Height = 240
     
    1414    Width = 320
    1515    Align = alClient
    16     ItemHeight = 0
    17     OnSelectionChange = ListBoxMessagesSelectionChange
     16    Columns = <   
     17      item
     18        Caption = 'File'
     19        Width = 80
     20      end   
     21      item
     22        Caption = 'Position'
     23      end   
     24      item
     25        Caption = 'Message'
     26        Width = 500
     27      end>
     28    ItemIndex = -1
     29    OwnerData = True
     30    ReadOnly = True
     31    RowSelect = True
    1832    TabOrder = 0
     33    ViewStyle = vsReport
     34    OnClick = ListView1Click
     35    OnData = ListView1Data
     36    OnSelectItem = ListView1SelectItem
    1937  end
    2038  object CoolDockClient1: TCoolDockClient
  • branches/Transpascal/Forms/UMessagesForm.pas

    r67 r69  
    77uses
    88  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
    9   UCoolDocking, UProject, UCompiler;
     9  ComCtrls, UCoolDocking, UProject, UCompiler;
    1010
    1111type
     
    1515  TMessagesForm = class(TForm)
    1616    CoolDockClient1: TCoolDockClient;
    17     ListBoxMessages: TListBox;
     17    ListView1: TListView;
    1818    procedure ListBoxMessagesSelectionChange(Sender: TObject; User: boolean);
     19    procedure ListView1Click(Sender: TObject);
     20    procedure ListView1Data(Sender: TObject; Item: TListItem);
     21    procedure ListView1SelectItem(Sender: TObject; Item: TListItem;
     22      Selected: Boolean);
    1923  private
    2024    { private declarations }
    2125  public
    22     { public declarations }
     26    procedure Reload;
    2327  end;
    2428
     
    3741procedure TMessagesForm.ListBoxMessagesSelectionChange(Sender: TObject;
    3842  User: boolean);
     43begin
     44
     45end;
     46
     47procedure TMessagesForm.ListView1Click(Sender: TObject);
     48begin
     49  ListView1SelectItem(Self, ListView1.Selected, ListView1.Selected.Selected);
     50end;
     51
     52procedure TMessagesForm.ListView1Data(Sender: TObject; Item: TListItem);
     53begin
     54  with MainForm, CodeForm do
     55  with TErrorMessage(Compiler.ErrorMessages[Item.Index]) do begin
     56    Item.Caption := FileName;
     57    Item.Data := Compiler.ErrorMessages[Item.Index];
     58    Item.SubItems.Add(IntToStr(Position.X) + ',' + IntToStr(Position.Y));
     59    Item.SubItems.Add(Text);
     60  end;
     61end;
     62
     63procedure TMessagesForm.ListView1SelectItem(Sender: TObject; Item: TListItem;
     64  Selected: Boolean);
    3965var
    4066  ProjectFile: TProjectFile;
    4167begin
    4268  with MainForm, CodeForm do
    43   if ListBoxMessages.ItemIndex <> -1 then
    44   with TErrorMessage(Compiler.ErrorMessages[ListBoxMessages.ItemIndex]) do begin
     69  if Assigned(ListView1.Selected) then
     70  with TErrorMessage(ListView1.Selected.Data) do begin
    4571    ProjectFile := Project.SearchFile(FileName);
    4672    if Assigned(ProjectFile) then
     
    5278end;
    5379
     80procedure TMessagesForm.Reload;
     81begin
     82  ListView1.Items.Count := MainForm.Compiler.ErrorMessages.Count;
     83  ListView1.Refresh;
     84end;
     85
    5486end.
    5587
  • branches/Transpascal/Transpascal.lpi

    r68 r69  
    4646      </Item4>
    4747    </RequiredPackages>
    48     <Units Count="40">
     48    <Units Count="39">
    4949      <Unit0>
    5050        <Filename Value="Transpascal.lpr"/>
     
    5555        <TopLine Value="4"/>
    5656        <CursorPos X="22" Y="22"/>
    57         <UsageCount Value="182"/>
     57        <UsageCount Value="215"/>
    5858        <Loaded Value="True"/>
    5959        <DefaultSyntaxHighlighter Value="Delphi"/>
     
    6868        <EditorIndex Value="13"/>
    6969        <WindowIndex Value="0"/>
    70         <TopLine Value="96"/>
    71         <CursorPos X="35" Y="115"/>
    72         <UsageCount Value="182"/>
     70        <TopLine Value="100"/>
     71        <CursorPos X="23" Y="113"/>
     72        <UsageCount Value="215"/>
    7373        <Loaded Value="True"/>
    7474        <LoadedDesigner Value="True"/>
     
    8282        <TopLine Value="1"/>
    8383        <CursorPos X="1" Y="6"/>
    84         <UsageCount Value="182"/>
     84        <UsageCount Value="215"/>
    8585        <DefaultSyntaxHighlighter Value="Delphi"/>
    8686      </Unit2>
     
    9191        <TopLine Value="745"/>
    9292        <CursorPos X="46" Y="759"/>
    93         <UsageCount Value="163"/>
     93        <UsageCount Value="160"/>
    9494        <DefaultSyntaxHighlighter Value="Delphi"/>
    9595      </Unit3>
     
    100100        <TopLine Value="1"/>
    101101        <CursorPos X="40" Y="11"/>
    102         <UsageCount Value="163"/>
     102        <UsageCount Value="160"/>
    103103        <DefaultSyntaxHighlighter Value="Delphi"/>
    104104      </Unit4>
     
    109109        <TopLine Value="187"/>
    110110        <CursorPos X="34" Y="201"/>
    111         <UsageCount Value="163"/>
     111        <UsageCount Value="160"/>
    112112      </Unit5>
    113113      <Unit6>
     
    117117        <TopLine Value="1"/>
    118118        <CursorPos X="1" Y="14"/>
    119         <UsageCount Value="163"/>
     119        <UsageCount Value="160"/>
    120120      </Unit6>
    121121      <Unit7>
     
    125125        <TopLine Value="124"/>
    126126        <CursorPos X="42" Y="136"/>
    127         <UsageCount Value="163"/>
     127        <UsageCount Value="160"/>
    128128      </Unit7>
    129129      <Unit8>
     
    133133        <TopLine Value="442"/>
    134134        <CursorPos X="47" Y="455"/>
    135         <UsageCount Value="163"/>
     135        <UsageCount Value="160"/>
    136136      </Unit8>
    137137      <Unit9>
     
    141141        <TopLine Value="78"/>
    142142        <CursorPos X="27" Y="86"/>
    143         <UsageCount Value="55"/>
     143        <UsageCount Value="52"/>
    144144      </Unit9>
    145145      <Unit10>
     
    149149        <TopLine Value="936"/>
    150150        <CursorPos X="35" Y="948"/>
    151         <UsageCount Value="13"/>
     151        <UsageCount Value="10"/>
    152152      </Unit10>
    153153      <Unit11>
     
    156156        <TopLine Value="61"/>
    157157        <CursorPos X="7" Y="68"/>
    158         <UsageCount Value="65"/>
     158        <UsageCount Value="62"/>
    159159      </Unit11>
    160160      <Unit12>
     
    163163        <TopLine Value="139"/>
    164164        <CursorPos X="16" Y="146"/>
    165         <UsageCount Value="65"/>
     165        <UsageCount Value="62"/>
    166166      </Unit12>
    167167      <Unit13>
    168         <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\sysutils\sysstr.inc"/>
    169         <WindowIndex Value="0"/>
    170         <TopLine Value="934"/>
    171         <CursorPos X="10" Y="947"/>
    172         <UsageCount Value="3"/>
     168        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\inc\objpash.inc"/>
     169        <WindowIndex Value="0"/>
     170        <TopLine Value="153"/>
     171        <CursorPos X="8" Y="166"/>
     172        <UsageCount Value="5"/>
    173173      </Unit13>
    174174      <Unit14>
    175         <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\inc\objpash.inc"/>
    176         <WindowIndex Value="0"/>
    177         <TopLine Value="153"/>
    178         <CursorPos X="8" Y="166"/>
    179         <UsageCount Value="8"/>
     175        <Filename Value="Produce\UProducerTreeView.pas"/>
     176        <UnitName Value="UProducerTreeView"/>
     177        <WindowIndex Value="0"/>
     178        <TopLine Value="69"/>
     179        <CursorPos X="1" Y="82"/>
     180        <UsageCount Value="122"/>
    180181      </Unit14>
    181182      <Unit15>
    182         <Filename Value="Produce\UProducerTreeView.pas"/>
    183         <UnitName Value="UProducerTreeView"/>
    184         <WindowIndex Value="0"/>
    185         <TopLine Value="69"/>
    186         <CursorPos X="1" Y="82"/>
    187         <UsageCount Value="125"/>
     183        <Filename Value="E:\Programy\Lazarus\lcl\comctrls.pp"/>
     184        <UnitName Value="ComCtrls"/>
     185        <WindowIndex Value="0"/>
     186        <TopLine Value="2159"/>
     187        <CursorPos X="14" Y="2178"/>
     188        <UsageCount Value="8"/>
    188189      </Unit15>
    189190      <Unit16>
    190         <Filename Value="E:\Programy\Lazarus\lcl\comctrls.pp"/>
    191         <UnitName Value="ComCtrls"/>
    192         <WindowIndex Value="0"/>
    193         <TopLine Value="2159"/>
    194         <CursorPos X="14" Y="2178"/>
    195         <UsageCount Value="11"/>
     191        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\classes\classesh.inc"/>
     192        <WindowIndex Value="0"/>
     193        <TopLine Value="559"/>
     194        <CursorPos X="57" Y="571"/>
     195        <UsageCount Value="5"/>
    196196      </Unit16>
    197197      <Unit17>
    198         <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\classes\classesh.inc"/>
    199         <WindowIndex Value="0"/>
    200         <TopLine Value="559"/>
    201         <CursorPos X="57" Y="571"/>
    202         <UsageCount Value="8"/>
     198        <Filename Value="Produce\UProducerPascal.pas"/>
     199        <UnitName Value="UProducerPascal"/>
     200        <WindowIndex Value="0"/>
     201        <TopLine Value="320"/>
     202        <CursorPos X="1" Y="327"/>
     203        <UsageCount Value="76"/>
    203204      </Unit17>
    204205      <Unit18>
    205         <Filename Value="Produce\UProducerPascal.pas"/>
    206         <UnitName Value="UProducerPascal"/>
    207         <WindowIndex Value="0"/>
    208         <TopLine Value="320"/>
    209         <CursorPos X="1" Y="327"/>
    210         <UsageCount Value="79"/>
     206        <Filename Value="UProject.pas"/>
     207        <IsPartOfProject Value="True"/>
     208        <UnitName Value="UProject"/>
     209        <IsVisibleTab Value="True"/>
     210        <EditorIndex Value="9"/>
     211        <WindowIndex Value="0"/>
     212        <TopLine Value="1"/>
     213        <CursorPos X="72" Y="8"/>
     214        <UsageCount Value="88"/>
     215        <Loaded Value="True"/>
     216        <DefaultSyntaxHighlighter Value="Delphi"/>
    211217      </Unit18>
    212218      <Unit19>
    213         <Filename Value="UProject.pas"/>
    214         <IsPartOfProject Value="True"/>
    215         <UnitName Value="UProject"/>
    216         <EditorIndex Value="9"/>
    217         <WindowIndex Value="0"/>
    218         <TopLine Value="227"/>
    219         <CursorPos X="1" Y="241"/>
    220         <UsageCount Value="54"/>
    221         <Loaded Value="True"/>
    222         <DefaultSyntaxHighlighter Value="Delphi"/>
     219        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\inc\wstringh.inc"/>
     220        <WindowIndex Value="0"/>
     221        <TopLine Value="17"/>
     222        <CursorPos X="11" Y="30"/>
     223        <UsageCount Value="15"/>
    223224      </Unit19>
    224225      <Unit20>
    225         <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\inc\wstringh.inc"/>
    226         <WindowIndex Value="0"/>
    227         <TopLine Value="17"/>
    228         <CursorPos X="11" Y="30"/>
    229         <UsageCount Value="18"/>
    230       </Unit20>
    231       <Unit21>
    232226        <Filename Value="Compiler\TranspascalCompiler.pas"/>
    233227        <UnitName Value="TranspascalCompiler"/>
     
    236230        <TopLine Value="1"/>
    237231        <CursorPos X="33" Y="1"/>
    238         <UsageCount Value="19"/>
    239         <Loaded Value="True"/>
    240       </Unit21>
    241       <Unit22>
     232        <UsageCount Value="36"/>
     233        <Loaded Value="True"/>
     234      </Unit20>
     235      <Unit21>
    242236        <Filename Value="Compiler\UCompiler.pas"/>
    243237        <UnitName Value="UCompiler"/>
     
    246240        <TopLine Value="34"/>
    247241        <CursorPos X="62" Y="47"/>
    248         <UsageCount Value="17"/>
    249         <Loaded Value="True"/>
    250       </Unit22>
    251       <Unit23>
     242        <UsageCount Value="34"/>
     243        <Loaded Value="True"/>
     244      </Unit21>
     245      <Unit22>
    252246        <Filename Value="Compiler\USourceCode.pas"/>
    253247        <UnitName Value="USourceCode"/>
     
    256250        <TopLine Value="711"/>
    257251        <CursorPos X="1" Y="725"/>
    258         <UsageCount Value="16"/>
     252        <UsageCount Value="33"/>
     253        <Loaded Value="True"/>
     254      </Unit22>
     255      <Unit23>
     256        <Filename Value="Compiler\Analyze\UParser.pas"/>
     257        <UnitName Value="UParser"/>
     258        <EditorIndex Value="6"/>
     259        <WindowIndex Value="0"/>
     260        <TopLine Value="357"/>
     261        <CursorPos X="38" Y="367"/>
     262        <UsageCount Value="34"/>
    259263        <Loaded Value="True"/>
    260264      </Unit23>
    261265      <Unit24>
    262         <Filename Value="Compiler\Analyze\UParser.pas"/>
    263         <UnitName Value="UParser"/>
    264         <IsVisibleTab Value="True"/>
    265         <EditorIndex Value="6"/>
    266         <WindowIndex Value="0"/>
    267         <TopLine Value="680"/>
    268         <CursorPos X="3" Y="684"/>
    269         <UsageCount Value="17"/>
    270         <Loaded Value="True"/>
     266        <Filename Value="Compiler\Produce\UProducer.pas"/>
     267        <UnitName Value="UProducer"/>
     268        <WindowIndex Value="0"/>
     269        <TopLine Value="1"/>
     270        <CursorPos X="15" Y="4"/>
     271        <UsageCount Value="6"/>
    271272      </Unit24>
    272273      <Unit25>
    273         <Filename Value="Compiler\Produce\UProducer.pas"/>
    274         <UnitName Value="UProducer"/>
    275         <WindowIndex Value="0"/>
    276         <TopLine Value="1"/>
    277         <CursorPos X="15" Y="4"/>
    278         <UsageCount Value="9"/>
    279       </Unit25>
    280       <Unit26>
    281274        <Filename Value="Forms\UProjectManager.pas"/>
    282275        <IsPartOfProject Value="True"/>
     
    288281        <TopLine Value="71"/>
    289282        <CursorPos X="20" Y="76"/>
    290         <UsageCount Value="38"/>
     283        <UsageCount Value="72"/>
    291284        <Loaded Value="True"/>
    292285        <LoadedDesigner Value="True"/>
    293286        <DefaultSyntaxHighlighter Value="Delphi"/>
    294       </Unit26>
    295       <Unit27>
     287      </Unit25>
     288      <Unit26>
    296289        <Filename Value="Forms\UCodeForm.pas"/>
    297290        <IsPartOfProject Value="True"/>
     
    303296        <TopLine Value="7"/>
    304297        <CursorPos X="32" Y="16"/>
    305         <UsageCount Value="38"/>
     298        <UsageCount Value="72"/>
    306299        <Loaded Value="True"/>
    307300        <LoadedDesigner Value="True"/>
    308301        <DefaultSyntaxHighlighter Value="Delphi"/>
    309       </Unit27>
    310       <Unit28>
     302      </Unit26>
     303      <Unit27>
    311304        <Filename Value="Forms\UMessagesForm.pas"/>
    312305        <IsPartOfProject Value="True"/>
     
    316309        <EditorIndex Value="15"/>
    317310        <WindowIndex Value="0"/>
    318         <TopLine Value="28"/>
    319         <CursorPos X="23" Y="46"/>
    320         <UsageCount Value="38"/>
     311        <TopLine Value="56"/>
     312        <CursorPos X="1" Y="71"/>
     313        <UsageCount Value="72"/>
    321314        <Loaded Value="True"/>
    322315        <LoadedDesigner Value="True"/>
    323316        <DefaultSyntaxHighlighter Value="Delphi"/>
    324       </Unit28>
    325       <Unit29>
     317      </Unit27>
     318      <Unit28>
    326319        <Filename Value="Forms\UCompiledForm.pas"/>
    327320        <IsPartOfProject Value="True"/>
     
    334327        <TopLine Value="5"/>
    335328        <CursorPos X="28" Y="21"/>
    336         <UsageCount Value="37"/>
     329        <UsageCount Value="71"/>
    337330        <Loaded Value="True"/>
    338331        <LoadedDesigner Value="True"/>
    339332        <DefaultSyntaxHighlighter Value="Delphi"/>
    340       </Unit29>
    341       <Unit30>
     333      </Unit28>
     334      <Unit29>
    342335        <Filename Value="Forms\UCodeTreeForm.pas"/>
    343336        <IsPartOfProject Value="True"/>
     
    349342        <TopLine Value="1"/>
    350343        <CursorPos X="1" Y="1"/>
    351         <UsageCount Value="37"/>
     344        <UsageCount Value="71"/>
    352345        <Loaded Value="True"/>
    353346        <LoadedDesigner Value="True"/>
    354347        <DefaultSyntaxHighlighter Value="Delphi"/>
    355       </Unit30>
    356       <Unit31>
     348      </Unit29>
     349      <Unit30>
    357350        <Filename Value="Compiler\Produce\UProducerTreeView.pas"/>
    358351        <UnitName Value="UProducerTreeView"/>
     
    361354        <TopLine Value="291"/>
    362355        <CursorPos X="54" Y="304"/>
    363         <UsageCount Value="17"/>
    364         <Loaded Value="True"/>
    365       </Unit31>
    366       <Unit32>
     356        <UsageCount Value="34"/>
     357        <Loaded Value="True"/>
     358      </Unit30>
     359      <Unit31>
    367360        <Filename Value="E:\Programy\Lazarus\components\synedit\synhighlightermulti.pas"/>
    368361        <UnitName Value="SynHighlighterMulti"/>
     
    371364        <TopLine Value="316"/>
    372365        <CursorPos X="14" Y="329"/>
    373         <UsageCount Value="17"/>
     366        <UsageCount Value="34"/>
     367        <Loaded Value="True"/>
     368      </Unit31>
     369      <Unit32>
     370        <Filename Value="E:\Programy\Lazarus\lcl\include\customform.inc"/>
     371        <EditorIndex Value="14"/>
     372        <WindowIndex Value="0"/>
     373        <TopLine Value="1756"/>
     374        <CursorPos X="31" Y="1770"/>
     375        <UsageCount Value="32"/>
    374376        <Loaded Value="True"/>
    375377      </Unit32>
    376378      <Unit33>
    377         <Filename Value="E:\Programy\Lazarus\lcl\include\customform.inc"/>
    378         <EditorIndex Value="14"/>
    379         <WindowIndex Value="0"/>
    380         <TopLine Value="1756"/>
    381         <CursorPos X="31" Y="1770"/>
    382         <UsageCount Value="15"/>
    383         <Loaded Value="True"/>
     379        <Filename Value="Common\URegistry.pas"/>
     380        <IsPartOfProject Value="True"/>
     381        <UnitName Value="URegistry"/>
     382        <UsageCount Value="63"/>
    384383      </Unit33>
    385384      <Unit34>
    386         <Filename Value="Common\URegistry.pas"/>
    387         <IsPartOfProject Value="True"/>
    388         <UnitName Value="URegistry"/>
    389         <UsageCount Value="29"/>
     385        <Filename Value="Common\ULastOpenedList.pas"/>
     386        <IsPartOfProject Value="True"/>
     387        <UnitName Value="ULastOpenedList"/>
     388        <UsageCount Value="63"/>
     389        <DefaultSyntaxHighlighter Value="Delphi"/>
    390390      </Unit34>
    391391      <Unit35>
    392         <Filename Value="Common\ULastOpenedList.pas"/>
    393         <IsPartOfProject Value="True"/>
    394         <UnitName Value="ULastOpenedList"/>
    395         <UsageCount Value="29"/>
     392        <Filename Value="UApplicationInfo.pas"/>
     393        <IsPartOfProject Value="True"/>
     394        <UnitName Value="UApplicationInfo"/>
     395        <UsageCount Value="63"/>
    396396        <DefaultSyntaxHighlighter Value="Delphi"/>
    397397      </Unit35>
    398398      <Unit36>
    399         <Filename Value="UApplicationInfo.pas"/>
    400         <IsPartOfProject Value="True"/>
    401         <UnitName Value="UApplicationInfo"/>
    402         <UsageCount Value="29"/>
    403         <DefaultSyntaxHighlighter Value="Delphi"/>
    404       </Unit36>
    405       <Unit37>
    406399        <Filename Value="Compiler\Produce\UProducerC.pas"/>
    407400        <UnitName Value="UProducerC"/>
     
    410403        <TopLine Value="288"/>
    411404        <CursorPos X="57" Y="302"/>
    412         <UsageCount Value="14"/>
    413         <Loaded Value="True"/>
    414       </Unit37>
    415       <Unit38>
     405        <UsageCount Value="31"/>
     406        <Loaded Value="True"/>
     407      </Unit36>
     408      <Unit37>
    416409        <Filename Value="Compiler\Produce\UProducerAsm8051.pas"/>
    417410        <UnitName Value="UProducerAsm8051"/>
     
    420413        <TopLine Value="1"/>
    421414        <CursorPos X="1" Y="1"/>
    422         <UsageCount Value="13"/>
    423         <Loaded Value="True"/>
    424       </Unit38>
    425       <Unit39>
     415        <UsageCount Value="30"/>
     416        <Loaded Value="True"/>
     417      </Unit37>
     418      <Unit38>
    426419        <Filename Value="Compiler\Produce\UProducerPascal.pas"/>
    427420        <UnitName Value="UProducerPascal"/>
     
    430423        <TopLine Value="99"/>
    431424        <CursorPos X="57" Y="112"/>
    432         <UsageCount Value="10"/>
    433         <Loaded Value="True"/>
    434       </Unit39>
     425        <UsageCount Value="27"/>
     426        <Loaded Value="True"/>
     427      </Unit38>
    435428    </Units>
    436429    <JumpHistory Count="30" HistoryIndex="29">
    437430      <Position1>
    438431        <Filename Value="Compiler\Analyze\UParser.pas"/>
    439         <Caret Line="814" Column="1" TopLine="799"/>
     432        <Caret Line="748" Column="78" TopLine="739"/>
    440433      </Position1>
    441434      <Position2>
    442435        <Filename Value="Compiler\Analyze\UParser.pas"/>
    443         <Caret Line="816" Column="1" TopLine="799"/>
     436        <Caret Line="690" Column="1" TopLine="677"/>
    444437      </Position2>
    445438      <Position3>
    446439        <Filename Value="Compiler\Analyze\UParser.pas"/>
    447         <Caret Line="817" Column="1" TopLine="799"/>
     440        <Caret Line="691" Column="1" TopLine="677"/>
    448441      </Position3>
    449442      <Position4>
    450443        <Filename Value="Compiler\Analyze\UParser.pas"/>
    451         <Caret Line="820" Column="1" TopLine="799"/>
     444        <Caret Line="690" Column="1" TopLine="677"/>
    452445      </Position4>
    453446      <Position5>
    454447        <Filename Value="Compiler\Analyze\UParser.pas"/>
    455         <Caret Line="822" Column="1" TopLine="801"/>
     448        <Caret Line="695" Column="34" TopLine="677"/>
    456449      </Position5>
    457450      <Position6>
    458451        <Filename Value="Compiler\Analyze\UParser.pas"/>
    459         <Caret Line="823" Column="1" TopLine="802"/>
     452        <Caret Line="372" Column="47" TopLine="358"/>
    460453      </Position6>
    461454      <Position7>
    462455        <Filename Value="Compiler\Analyze\UParser.pas"/>
    463         <Caret Line="824" Column="1" TopLine="803"/>
     456        <Caret Line="362" Column="1" TopLine="357"/>
    464457      </Position7>
    465458      <Position8>
    466459        <Filename Value="Compiler\Analyze\UParser.pas"/>
    467         <Caret Line="826" Column="1" TopLine="805"/>
     460        <Caret Line="363" Column="1" TopLine="357"/>
    468461      </Position8>
    469462      <Position9>
    470463        <Filename Value="Compiler\Analyze\UParser.pas"/>
    471         <Caret Line="827" Column="1" TopLine="806"/>
     464        <Caret Line="364" Column="1" TopLine="357"/>
    472465      </Position9>
    473466      <Position10>
    474467        <Filename Value="Compiler\Analyze\UParser.pas"/>
    475         <Caret Line="835" Column="1" TopLine="822"/>
     468        <Caret Line="365" Column="1" TopLine="357"/>
    476469      </Position10>
    477470      <Position11>
    478471        <Filename Value="Compiler\Analyze\UParser.pas"/>
    479         <Caret Line="836" Column="1" TopLine="822"/>
     472        <Caret Line="366" Column="1" TopLine="357"/>
    480473      </Position11>
    481474      <Position12>
    482475        <Filename Value="Compiler\Analyze\UParser.pas"/>
    483         <Caret Line="837" Column="1" TopLine="822"/>
     476        <Caret Line="367" Column="19" TopLine="357"/>
    484477      </Position12>
    485478      <Position13>
    486         <Filename Value="Compiler\Analyze\UParser.pas"/>
    487         <Caret Line="838" Column="1" TopLine="822"/>
     479        <Filename Value="Forms\UMessagesForm.pas"/>
     480        <Caret Line="42" Column="50" TopLine="28"/>
    488481      </Position13>
    489482      <Position14>
    490         <Filename Value="Compiler\Analyze\UParser.pas"/>
    491         <Caret Line="841" Column="1" TopLine="822"/>
     483        <Filename Value="Forms\UMessagesForm.pas"/>
     484        <Caret Line="41" Column="50" TopLine="27"/>
    492485      </Position14>
    493486      <Position15>
    494         <Filename Value="Compiler\Analyze\UParser.pas"/>
    495         <Caret Line="842" Column="1" TopLine="822"/>
     487        <Filename Value="Forms\UMessagesForm.pas"/>
     488        <Caret Line="44" Column="50" TopLine="30"/>
    496489      </Position15>
    497490      <Position16>
    498         <Filename Value="Compiler\Analyze\UParser.pas"/>
    499         <Caret Line="844" Column="1" TopLine="823"/>
     491        <Filename Value="Forms\UMessagesForm.pas"/>
     492        <Caret Line="54" Column="1" TopLine="29"/>
    500493      </Position16>
    501494      <Position17>
    502         <Filename Value="Compiler\Analyze\UParser.pas"/>
    503         <Caret Line="845" Column="1" TopLine="824"/>
     495        <Filename Value="Forms\UMessagesForm.pas"/>
     496        <Caret Line="58" Column="22" TopLine="33"/>
    504497      </Position17>
    505498      <Position18>
    506         <Filename Value="Compiler\Analyze\UParser.pas"/>
    507         <Caret Line="849" Column="1" TopLine="828"/>
     499        <Filename Value="Forms\UMessagesForm.pas"/>
     500        <Caret Line="48" Column="12" TopLine="44"/>
    508501      </Position18>
    509502      <Position19>
    510         <Filename Value="Compiler\Analyze\UParser.pas"/>
    511         <Caret Line="852" Column="1" TopLine="831"/>
     503        <Filename Value="Forms\UMainForm.pas"/>
     504        <Caret Line="116" Column="1" TopLine="115"/>
    512505      </Position19>
    513506      <Position20>
    514         <Filename Value="Compiler\Analyze\UParser.pas"/>
    515         <Caret Line="871" Column="1" TopLine="858"/>
     507        <Filename Value="Forms\UMainForm.pas"/>
     508        <Caret Line="61" Column="1" TopLine="48"/>
    516509      </Position20>
    517510      <Position21>
    518         <Filename Value="Compiler\Analyze\UParser.pas"/>
    519         <Caret Line="874" Column="1" TopLine="858"/>
     511        <Filename Value="Forms\UMessagesForm.pas"/>
     512        <Caret Line="25" Column="22" TopLine="5"/>
    520513      </Position21>
    521514      <Position22>
    522         <Filename Value="Compiler\Analyze\UParser.pas"/>
    523         <Caret Line="875" Column="1" TopLine="858"/>
     515        <Filename Value="Forms\UMessagesForm.pas"/>
     516        <Caret Line="70" Column="23" TopLine="53"/>
    524517      </Position22>
    525518      <Position23>
    526         <Filename Value="Compiler\Analyze\UParser.pas"/>
    527         <Caret Line="876" Column="1" TopLine="858"/>
     519        <Filename Value="Forms\UMessagesForm.pas"/>
     520        <Caret Line="71" Column="1" TopLine="56"/>
    528521      </Position23>
    529522      <Position24>
    530         <Filename Value="Compiler\Analyze\UParser.pas"/>
    531         <Caret Line="877" Column="1" TopLine="858"/>
     523        <Filename Value="UProject.pas"/>
     524        <Caret Line="103" Column="1" TopLine="90"/>
    532525      </Position24>
    533526      <Position25>
    534         <Filename Value="Compiler\Analyze\UParser.pas"/>
    535         <Caret Line="881" Column="1" TopLine="860"/>
     527        <Filename Value="UProject.pas"/>
     528        <Caret Line="104" Column="1" TopLine="90"/>
    536529      </Position25>
    537530      <Position26>
    538         <Filename Value="Compiler\Analyze\UParser.pas"/>
    539         <Caret Line="883" Column="1" TopLine="862"/>
     531        <Filename Value="UProject.pas"/>
     532        <Caret Line="106" Column="1" TopLine="90"/>
    540533      </Position26>
    541534      <Position27>
    542         <Filename Value="Compiler\Analyze\UParser.pas"/>
    543         <Caret Line="884" Column="1" TopLine="863"/>
     535        <Filename Value="UProject.pas"/>
     536        <Caret Line="107" Column="1" TopLine="93"/>
    544537      </Position27>
    545538      <Position28>
    546         <Filename Value="Compiler\Analyze\UParser.pas"/>
    547         <Caret Line="747" Column="15" TopLine="736"/>
     539        <Filename Value="UProject.pas"/>
     540        <Caret Line="108" Column="1" TopLine="93"/>
    548541      </Position28>
    549542      <Position29>
    550         <Filename Value="Compiler\Analyze\UParser.pas"/>
    551         <Caret Line="1187" Column="1" TopLine="1174"/>
     543        <Filename Value="UProject.pas"/>
     544        <Caret Line="109" Column="1" TopLine="93"/>
    552545      </Position29>
    553546      <Position30>
    554         <Filename Value="Compiler\Analyze\UParser.pas"/>
    555         <Caret Line="653" Column="11" TopLine="647"/>
     547        <Filename Value="UProject.pas"/>
     548        <Caret Line="111" Column="7" TopLine="94"/>
    556549      </Position30>
    557550    </JumpHistory>
     
    601594    <BreakPoints Count="1">
    602595      <Item1>
    603         <Source Value="Compiler\Analyze\UParser.pas"/>
    604         <Line Value="690"/>
     596        <Source Value="Forms\UMessagesForm.pas"/>
     597        <Line Value="71"/>
    605598      </Item1>
    606599    </BreakPoints>
  • branches/Transpascal/UProject.pas

    r66 r69  
    66
    77uses
    8   Classes, SysUtils, Contnrs, Dialogs, DOM, XMLWrite, XMLRead;
     8  Classes, SysUtils, Contnrs, Dialogs, DOM, XMLWrite, XMLRead, FileUtil;
    99
    1010type
     
    106106    else NamePart := FileName;
    107107  I := 0;
    108   while (I < Items.Count) and (TProjectNode(Items[I]).Name <> NamePart) do Inc(I);
     108  while (I < Items.Count) and (ExtractFileNameOnly(TProjectNode(Items[I]).Name) <> NamePart) do Inc(I);
    109109  if I < Items.Count then begin
    110     if TProjectNode(Items[I]) is TProjectFile then Result := TProjectFile(Items[I])
     110    if TProjectNode(Items[I]) is TProjectFile then
     111      Result := TProjectFile(Items[I])
    111112    else begin
    112113      Delete(FileName, 1, Length(FileName) + 1);
Note: See TracChangeset for help on using the changeset viewer.