Changeset 89


Ignore:
Timestamp:
Dec 18, 2009, 1:42:22 PM (15 years ago)
Author:
george
Message:
  • Opraveno: Chybné vytváření pojmenovaných objektů TEvent.
  • Opraveno: Chybné přidělování a uvolňování zásobníků vláken a databázových spojení.
  • Opraveno: Chybná inicializace parametrů databázových spojení.
Location:
branches/DirectWeb
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/DirectWeb/UPool.pas

    r88 r89  
    3333    function Acquire: TObject;
    3434    procedure Release(Item: TObject);
    35     procedure Allocate;
    3635    constructor Create;
    3736    destructor Destroy; override;
     
    117116end;
    118117
    119 procedure TThreadedPool.Allocate;
    120 var
    121   I: Integer;
    122 begin
    123   Clear;
    124   for I := 0 to TotalCount - 1 do
    125     Add(TThreadedPoolItem.Create);
    126 end;
    127 
    128118constructor TThreadedPool.Create;
    129119begin
     120  inherited;
    130121  Lock := TCriticalSection.Create;
    131   ReleaseEvent := TEvent.Create(nil, False, False, 'ThreadPool');
     122  ReleaseEvent := TEvent.Create(nil, False, False, '');
    132123end;
    133124
     
    143134constructor TThreadedPoolItem.Create;
    144135begin
    145   if Assigned(Item) then Item.Destroy;
     136  Item := nil;
    146137end;
    147138
  • branches/DirectWeb/UResetableThread.pas

    r88 r89  
    6969begin
    7070  Stopped := True;
    71   StartEvent := TEvent.Create(nil, False, False, 'TResetableThreadStart');
    72   StopEvent := TEvent.Create(nil, False, False, 'TResetableThreadStop');
     71  StartEvent := TEvent.Create(nil, False, False, '');
     72  StopEvent := TEvent.Create(nil, False, False, '');
    7373  Thread := TResetableThreadExecute.Create(True);
    7474  Thread.Parent := Self;
     
    9494    Parent.Stopped := False;
    9595    Parent.Execute;
     96    Parent.Stopped := True;
    9697    Parent.StopEvent.SetEvent;
    9798  end;
  • branches/DirectWeb/UTCPServer.pas

    r88 r89  
    101101
    102102constructor TTCPServer.Create;
    103 var
    104   I: Integer;
    105103begin
    106104  ThreadPool := TClientThreadedPool.Create;
    107105  ThreadPool.TotalCount := 10;
     106  ThreadPool.Active := True;
    108107
    109108  Socket := TTCPBlockSocket.Create;
     
    146145  if Assigned(Parent.FOnClientConnect) then
    147146    Parent.FOnClientConnect(Self);
     147
     148  Parent.ThreadPool.Release(Self);
    148149end;
    149150
     
    166167  I: Integer;
    167168begin
    168   if not FActive and Active then begin
    169     Allocate;
     169  if not FActive and AValue then begin
    170170    for I := 0 to TotalCount - 1 do begin
    171171      TThreadedPoolItem(Items[I]).Item := TTCPClientThread.Create;
    172172    end;
    173173  end else
    174   if FActive and not Active then begin
     174  if FActive and not AValue then begin
    175175
    176176  end;
    177   FActive := Active;
     177  FActive := AValue;
    178178end;
    179179
  • branches/DirectWeb/UWebServer.pas

    r88 r89  
    1010  UCommon, syncobjs,
    1111  UMemoryStreamEx,
    12   UMIMEType, Synautil,
     12  UMIMEType, Synautil, UPool,
    1313  USqlDatabase, DOM, XMLRead, UHTMLControls;
    1414
     
    2020  { TDatabasePool }
    2121
    22   TDatabasePool = class(TObjectList)
     22  TDatabasePool = class(TThreadedPool)
    2323  private
    24     Lock: TCriticalSection;
     24    FActive: Boolean;
     25    procedure SetActive(const AValue: Boolean);
    2526  public
    26     PoolSize: Integer;
     27    property Active: Boolean read FActive write SetActive;
     28  public
    2729    HostName: string;
    2830    Schema: string;
    2931    UserName: string;
    3032    Password: string;
    31     procedure Allocate;
    32     function Acquire: TSqlDatabase;
    33     procedure Release(Database: TSqlDatabase);
    3433    constructor Create;
    3534    destructor Destroy; override;
     
    103102  Command: string;
    104103begin
     104  LoadConfiguration;
     105  DatabasePool.Active := True;
    105106  WriteLn('WoW hosting web server');
    106   LoadConfiguration;
    107107  with HTTPServer do begin
    108108    Socket.Active := True;
     
    127127  PageList: TPageList;
    128128begin
    129   SqlDatabase := DatabasePool.Acquire;
     129  SqlDatabase := TSqlDatabase(DatabasePool.Acquire);
    130130  with HandlerData, Response, Stream, SqlDatabase do
    131131  begin
     
    191191
    192192    DbRows.Destroy;
    193     Destroy;
    194193    WriteFooter(Stream);
    195194  end;
    196195  PageList.Destroy;
     196  DatabasePool.Release(SqlDatabase);
    197197end;
    198198
     
    207207  LinkQuery: TQueryParameterList;
    208208begin
    209   SqlDatabase := TSqlDatabase.Create;
     209  SqlDatabase := TSqlDatabase(DatabasePool.Acquire);
    210210  with HandlerData, Response, Stream, SqlDatabase do
    211211  begin
     
    223223    WriteString('</table>');
    224224    DbRows.Destroy;
    225     Destroy;
    226225    WriteFooter(Stream);
    227226  end;
     227  DatabasePool.Release(SqlDatabase);
    228228end;
    229229
     
    269269  begin
    270270    WriteHeader(Stream);
    271 
    272 
     271    WriteString('Index');
    273272    WriteFooter(Stream);
    274273  end;
     
    310309  inherited Create;
    311310  DatabasePool := TDatabasePool.Create;
    312   DatabasePool.Capacity := 20;
    313   DatabasePool.Allocate;
     311  DatabasePool.TotalCount := 20;
    314312
    315313  SessionStorage := TFileHTTPSessionStorage.Create;
     
    341339{ TDatabasePool }
    342340
    343 procedure TDatabasePool.Allocate;
     341procedure TDatabasePool.SetActive(const AValue: Boolean);
    344342var
    345343  I: Integer;
    346344begin
    347   for I := 0 to PoolSize - 1 do
    348     with TSqlDatabase(Items[Add(TSqlDatabase.Create)]) do begin
    349       HostName := Self.HostName;
    350       UserName := Self.UserName;
    351       Password := Self.Password;
    352       Database := Self.Schema;
    353       Connect;
    354     end;
    355 end;
    356 
    357 function TDatabasePool.Acquire: TSqlDatabase;
    358 begin
    359 
    360 end;
    361 
    362 procedure TDatabasePool.Release(Database: TSqlDatabase);
    363 begin
    364   try
    365     Lock.Acquire;
    366 
    367   finally
    368     Lock.Release;
    369   end;
     345  if not FActive and AValue then begin
     346    for I := 0 to TotalCount - 1 do
     347    with TThreadedPoolItem(Items[I]) do begin
     348      Item := TSqlDatabase.Create;
     349      with TSqlDatabase(Item) do begin
     350        HostName := Self.HostName;
     351        UserName := Self.UserName;
     352        Password := Self.Password;
     353        Database := Self.Schema;
     354        Connect;
     355      end;
     356    end;
     357  end else
     358  if FActive and not AValue then begin
     359
     360  end;
     361  FActive := AValue;
    370362end;
    371363
    372364constructor TDatabasePool.Create;
    373365begin
    374   Lock := TCriticalSection.Create;
     366  inherited;
    375367end;
    376368
    377369destructor TDatabasePool.Destroy;
    378370begin
    379   Lock.Destroy;
    380371  inherited Destroy;
    381372end;
  • branches/DirectWeb/WoWHostingWebServer.lpi

    r88 r89  
    1313      <Icon Value="0"/>
    1414      <UseXPManifest Value="True"/>
    15       <ActiveEditorIndexAtStart Value="0"/>
     15      <ActiveEditorIndexAtStart Value="1"/>
    1616    </General>
    1717    <VersionInfo>
     
    3737      </Item1>
    3838    </RequiredPackages>
    39     <Units Count="37">
     39    <Units Count="38">
    4040      <Unit0>
    4141        <Filename Value="WoWHostingWebServer.lpr"/>
    4242        <IsPartOfProject Value="True"/>
    4343        <UnitName Value="WoWHostingWebServer"/>
    44         <CursorPos X="32" Y="12"/>
     44        <CursorPos X="1" Y="24"/>
    4545        <TopLine Value="1"/>
    4646        <EditorIndex Value="0"/>
     
    7676        <IsPartOfProject Value="True"/>
    7777        <UnitName Value="UHTTPServer"/>
    78         <CursorPos X="80" Y="119"/>
    79         <TopLine Value="102"/>
    80         <EditorIndex Value="11"/>
     78        <CursorPos X="17" Y="92"/>
     79        <TopLine Value="74"/>
     80        <EditorIndex Value="13"/>
    8181        <UsageCount Value="200"/>
    8282        <Loaded Value="True"/>
     
    8686        <CursorPos X="14" Y="1436"/>
    8787        <TopLine Value="1419"/>
    88         <EditorIndex Value="8"/>
    89         <UsageCount Value="96"/>
     88        <EditorIndex Value="10"/>
     89        <UsageCount Value="98"/>
    9090        <Loaded Value="True"/>
    9191      </Unit6>
     
    101101        <IsPartOfProject Value="True"/>
    102102        <UnitName Value="UTCPServer"/>
    103         <CursorPos X="5" Y="23"/>
    104         <TopLine Value="6"/>
     103        <CursorPos X="24" Y="148"/>
     104        <TopLine Value="130"/>
    105105        <EditorIndex Value="3"/>
    106106        <UsageCount Value="200"/>
     
    128128        <CursorPos X="24" Y="61"/>
    129129        <TopLine Value="1"/>
    130         <UsageCount Value="130"/>
     130        <UsageCount Value="135"/>
    131131      </Unit11>
    132132      <Unit12>
     
    148148        <CursorPos X="3" Y="130"/>
    149149        <TopLine Value="121"/>
    150         <UsageCount Value="129"/>
     150        <UsageCount Value="134"/>
    151151      </Unit14>
    152152      <Unit15>
     
    156156        <CursorPos X="26" Y="28"/>
    157157        <TopLine Value="25"/>
    158         <UsageCount Value="129"/>
     158        <UsageCount Value="134"/>
    159159      </Unit15>
    160160      <Unit16>
     
    162162        <IsPartOfProject Value="True"/>
    163163        <UnitName Value="USqlDatabase"/>
    164         <CursorPos X="3" Y="316"/>
    165         <TopLine Value="314"/>
    166         <UsageCount Value="76"/>
     164        <CursorPos X="20" Y="178"/>
     165        <TopLine Value="164"/>
     166        <EditorIndex Value="8"/>
     167        <UsageCount Value="81"/>
     168        <Loaded Value="True"/>
    167169      </Unit16>
    168170      <Unit17>
     
    182184        <CursorPos X="3" Y="113"/>
    183185        <TopLine Value="97"/>
    184         <EditorIndex Value="9"/>
    185         <UsageCount Value="30"/>
     186        <EditorIndex Value="11"/>
     187        <UsageCount Value="32"/>
    186188        <Loaded Value="True"/>
    187189      </Unit19>
     
    197199        <IsPartOfProject Value="True"/>
    198200        <UnitName Value="UWebServer"/>
    199         <CursorPos X="12" Y="10"/>
    200         <TopLine Value="12"/>
     201        <CursorPos X="15" Y="283"/>
     202        <TopLine Value="260"/>
    201203        <EditorIndex Value="1"/>
    202         <UsageCount Value="119"/>
     204        <UsageCount Value="124"/>
    203205        <Loaded Value="True"/>
    204206      </Unit21>
     
    215217        <CursorPos X="32" Y="11"/>
    216218        <TopLine Value="1"/>
    217         <UsageCount Value="77"/>
     219        <UsageCount Value="82"/>
    218220        <SyntaxHighlighter Value="XML"/>
    219221      </Unit23>
     
    223225        <CursorPos X="77" Y="4"/>
    224226        <TopLine Value="1"/>
    225         <UsageCount Value="77"/>
     227        <UsageCount Value="82"/>
    226228        <SyntaxHighlighter Value="None"/>
    227229      </Unit24>
     
    239241        <CursorPos X="35" Y="8"/>
    240242        <TopLine Value="1"/>
    241         <EditorIndex Value="12"/>
    242         <UsageCount Value="74"/>
     243        <EditorIndex Value="14"/>
     244        <UsageCount Value="79"/>
    243245        <Loaded Value="True"/>
    244246      </Unit26>
     
    250252        <TopLine Value="33"/>
    251253        <EditorIndex Value="2"/>
    252         <UsageCount Value="72"/>
     254        <UsageCount Value="77"/>
    253255        <Loaded Value="True"/>
    254256      </Unit27>
    255257      <Unit28>
    256258        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\inc\threadh.inc"/>
    257         <CursorPos X="11" Y="154"/>
    258         <TopLine Value="130"/>
     259        <CursorPos X="26" Y="23"/>
     260        <TopLine Value="4"/>
    259261        <EditorIndex Value="5"/>
    260         <UsageCount Value="12"/>
     262        <UsageCount Value="14"/>
    261263        <Loaded Value="True"/>
    262264      </Unit28>
     
    270272        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\packages\fcl-base\src\syncobjs.pp"/>
    271273        <UnitName Value="syncobjs"/>
    272         <CursorPos X="4" Y="60"/>
    273         <TopLine Value="43"/>
     274        <CursorPos X="25" Y="138"/>
     275        <TopLine Value="134"/>
    274276        <EditorIndex Value="4"/>
    275         <UsageCount Value="30"/>
     277        <UsageCount Value="32"/>
    276278        <Loaded Value="True"/>
    277279      </Unit30>
     
    299301        <CursorPos X="26" Y="72"/>
    300302        <TopLine Value="64"/>
    301         <EditorIndex Value="7"/>
    302         <UsageCount Value="30"/>
     303        <EditorIndex Value="9"/>
     304        <UsageCount Value="32"/>
    303305        <Loaded Value="True"/>
    304306      </Unit34>
     
    307309        <IsPartOfProject Value="True"/>
    308310        <UnitName Value="UPool"/>
    309         <CursorPos X="3" Y="86"/>
    310         <TopLine Value="82"/>
    311         <EditorIndex Value="6"/>
    312         <UsageCount Value="60"/>
     311        <CursorPos X="37" Y="106"/>
     312        <TopLine Value="88"/>
     313        <EditorIndex Value="7"/>
     314        <UsageCount Value="65"/>
    313315        <Loaded Value="True"/>
    314316      </Unit35>
     
    317319        <IsPartOfProject Value="True"/>
    318320        <UnitName Value="UResetableThread"/>
    319         <CursorPos X="3" Y="22"/>
    320         <TopLine Value="5"/>
    321         <EditorIndex Value="10"/>
    322         <UsageCount Value="59"/>
     321        <CursorPos X="50" Y="72"/>
     322        <TopLine Value="69"/>
     323        <EditorIndex Value="12"/>
     324        <UsageCount Value="64"/>
    323325        <Loaded Value="True"/>
    324326      </Unit36>
     327      <Unit37>
     328        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\inc\thread.inc"/>
     329        <CursorPos X="32" Y="236"/>
     330        <TopLine Value="233"/>
     331        <EditorIndex Value="6"/>
     332        <UsageCount Value="11"/>
     333        <Loaded Value="True"/>
     334      </Unit37>
    325335    </Units>
    326336    <JumpHistory Count="30" HistoryIndex="29">
    327337      <Position1>
    328         <Filename Value="UTCPServer.pas"/>
    329         <Caret Line="57" Column="24" TopLine="34"/>
     338        <Filename Value="UWebServer.pas"/>
     339        <Caret Line="130" Column="1" TopLine="113"/>
    330340      </Position1>
    331341      <Position2>
    332         <Filename Value="UTCPServer.pas"/>
    333         <Caret Line="32" Column="38" TopLine="15"/>
     342        <Filename Value="UWebServer.pas"/>
     343        <Caret Line="132" Column="1" TopLine="115"/>
    334344      </Position2>
    335345      <Position3>
    336         <Filename Value="UPool.pas"/>
    337         <Caret Line="33" Column="24" TopLine="6"/>
     346        <Filename Value="UWebServer.pas"/>
     347        <Caret Line="134" Column="1" TopLine="117"/>
    338348      </Position3>
    339349      <Position4>
    340         <Filename Value="UTCPServer.pas"/>
    341         <Caret Line="32" Column="39" TopLine="15"/>
     350        <Filename Value="UWebServer.pas"/>
     351        <Caret Line="137" Column="1" TopLine="120"/>
    342352      </Position4>
    343353      <Position5>
    344         <Filename Value="UTCPServer.pas"/>
    345         <Caret Line="58" Column="24" TopLine="39"/>
     354        <Filename Value="UWebServer.pas"/>
     355        <Caret Line="128" Column="1" TopLine="111"/>
    346356      </Position5>
    347357      <Position6>
    348         <Filename Value="UTCPServer.pas"/>
    349         <Caret Line="57" Column="30" TopLine="34"/>
     358        <Filename Value="UWebServer.pas"/>
     359        <Caret Line="129" Column="1" TopLine="112"/>
    350360      </Position6>
    351361      <Position7>
    352         <Filename Value="UTCPServer.pas"/>
    353         <Caret Line="218" Column="24" TopLine="195"/>
     362        <Filename Value="UWebServer.pas"/>
     363        <Caret Line="130" Column="1" TopLine="113"/>
    354364      </Position7>
    355365      <Position8>
    356         <Filename Value="UTCPServer.pas"/>
    357         <Caret Line="133" Column="65" TopLine="116"/>
     366        <Filename Value="UWebServer.pas"/>
     367        <Caret Line="128" Column="1" TopLine="111"/>
    358368      </Position8>
    359369      <Position9>
    360         <Filename Value="UTCPServer.pas"/>
    361         <Caret Line="135" Column="22" TopLine="118"/>
     370        <Filename Value="UWebServer.pas"/>
     371        <Caret Line="129" Column="1" TopLine="112"/>
    362372      </Position9>
    363373      <Position10>
    364         <Filename Value="UTCPServer.pas"/>
    365         <Caret Line="193" Column="8" TopLine="190"/>
     374        <Filename Value="UWebServer.pas"/>
     375        <Caret Line="130" Column="1" TopLine="113"/>
    366376      </Position10>
    367377      <Position11>
    368         <Filename Value="UTCPServer.pas"/>
    369         <Caret Line="134" Column="25" TopLine="117"/>
     378        <Filename Value="UWebServer.pas"/>
     379        <Caret Line="132" Column="1" TopLine="115"/>
    370380      </Position11>
    371381      <Position12>
    372         <Filename Value="UTCPServer.pas"/>
    373         <Caret Line="25" Column="17" TopLine="8"/>
     382        <Filename Value="UWebServer.pas"/>
     383        <Caret Line="134" Column="1" TopLine="117"/>
    374384      </Position12>
    375385      <Position13>
    376         <Filename Value="UTCPServer.pas"/>
    377         <Caret Line="134" Column="32" TopLine="117"/>
     386        <Filename Value="UWebServer.pas"/>
     387        <Caret Line="137" Column="1" TopLine="120"/>
    378388      </Position13>
    379389      <Position14>
    380         <Filename Value="UTCPServer.pas"/>
    381         <Caret Line="143" Column="1" TopLine="126"/>
     390        <Filename Value="USqlDatabase.pas"/>
     391        <Caret Line="174" Column="1" TopLine="157"/>
    382392      </Position14>
    383393      <Position15>
    384         <Filename Value="UTCPServer.pas"/>
    385         <Caret Line="141" Column="1" TopLine="126"/>
     394        <Filename Value="USqlDatabase.pas"/>
     395        <Caret Line="176" Column="1" TopLine="159"/>
    386396      </Position15>
    387397      <Position16>
    388         <Filename Value="UTCPServer.pas"/>
    389         <Caret Line="135" Column="36" TopLine="119"/>
     398        <Filename Value="USqlDatabase.pas"/>
     399        <Caret Line="177" Column="1" TopLine="160"/>
    390400      </Position16>
    391401      <Position17>
    392         <Filename Value="UTCPServer.pas"/>
    393         <Caret Line="23" Column="13" TopLine="8"/>
     402        <Filename Value="USqlDatabase.pas"/>
     403        <Caret Line="179" Column="1" TopLine="162"/>
    394404      </Position17>
    395405      <Position18>
    396         <Filename Value="UTCPServer.pas"/>
    397         <Caret Line="148" Column="5" TopLine="130"/>
     406        <Filename Value="USqlDatabase.pas"/>
     407        <Caret Line="181" Column="25" TopLine="164"/>
    398408      </Position18>
    399409      <Position19>
    400         <Filename Value="UTCPServer.pas"/>
    401         <Caret Line="154" Column="12" TopLine="137"/>
     410        <Filename Value="UWebServer.pas"/>
     411        <Caret Line="128" Column="1" TopLine="111"/>
    402412      </Position19>
    403413      <Position20>
    404         <Filename Value="UTCPServer.pas"/>
    405         <Caret Line="22" Column="31" TopLine="9"/>
     414        <Filename Value="UWebServer.pas"/>
     415        <Caret Line="129" Column="1" TopLine="112"/>
    406416      </Position20>
    407417      <Position21>
    408         <Filename Value="UTCPServer.pas"/>
    409         <Caret Line="26" Column="24" TopLine="9"/>
     418        <Filename Value="UWebServer.pas"/>
     419        <Caret Line="130" Column="1" TopLine="113"/>
    410420      </Position21>
    411421      <Position22>
    412         <Filename Value="UTCPServer.pas"/>
    413         <Caret Line="153" Column="36" TopLine="133"/>
     422        <Filename Value="UWebServer.pas"/>
     423        <Caret Line="132" Column="1" TopLine="115"/>
    414424      </Position22>
    415425      <Position23>
    416         <Filename Value="UTCPServer.pas"/>
    417         <Caret Line="171" Column="25" TopLine="148"/>
     426        <Filename Value="UWebServer.pas"/>
     427        <Caret Line="134" Column="1" TopLine="117"/>
    418428      </Position23>
    419429      <Position24>
    420         <Filename Value="UHTTPServer.pas"/>
    421         <Caret Line="35" Column="28" TopLine="35"/>
     430        <Filename Value="UWebServer.pas"/>
     431        <Caret Line="137" Column="1" TopLine="120"/>
    422432      </Position24>
    423433      <Position25>
    424         <Filename Value="UHTTPServer.pas"/>
    425         <Caret Line="180" Column="23" TopLine="162"/>
     434        <Filename Value="USqlDatabase.pas"/>
     435        <Caret Line="174" Column="1" TopLine="157"/>
    426436      </Position25>
    427437      <Position26>
    428         <Filename Value="UHTTPServer.pas"/>
    429         <Caret Line="119" Column="37" TopLine="102"/>
     438        <Filename Value="USqlDatabase.pas"/>
     439        <Caret Line="176" Column="1" TopLine="159"/>
    430440      </Position26>
    431441      <Position27>
    432         <Filename Value="WoWHostingWebServer.lpr"/>
    433         <Caret Line="15" Column="26" TopLine="1"/>
     442        <Filename Value="USqlDatabase.pas"/>
     443        <Caret Line="177" Column="1" TopLine="160"/>
    434444      </Position27>
    435445      <Position28>
    436         <Filename Value="WoWHostingWebServer.lpr"/>
    437         <Caret Line="25" Column="1" TopLine="1"/>
     446        <Filename Value="USqlDatabase.pas"/>
     447        <Caret Line="179" Column="1" TopLine="162"/>
    438448      </Position28>
    439449      <Position29>
    440         <Filename Value="WoWHostingWebServer.lpr"/>
    441         <Caret Line="18" Column="24" TopLine="1"/>
     450        <Filename Value="UWebServer.pas"/>
     451        <Caret Line="193" Column="1" TopLine="169"/>
    442452      </Position29>
    443453      <Position30>
    444         <Filename Value="WoWHostingWebServer.lpr"/>
    445         <Caret Line="21" Column="18" TopLine="1"/>
     454        <Filename Value="USqlDatabase.pas"/>
     455        <Caret Line="178" Column="20" TopLine="164"/>
    446456      </Position30>
    447457    </JumpHistory>
     
    455465    <SearchPaths>
    456466      <IncludeFiles Value="$(ProjOutDir)\"/>
    457       <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
     467      <UnitOutputDirectory Value="bin\$(TargetCPU)-$(TargetOS)"/>
    458468    </SearchPaths>
    459469    <Other>
Note: See TracChangeset for help on using the changeset viewer.