Почему не получаеться создать поток?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by marcos, 29 Jan 2010.

  1. marcos

    marcos New Member

    Joined:
    8 Nov 2009
    Messages:
    111
    Likes Received:
    1
    Reputations:
    -5
    Всем привет! Пишу на делфи прогу с потоком но у меня вылетает ошибка компиляции. подскажите
    [​IMG]
     
  2. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    937
    Likes Received:
    162
    Reputations:
    27
    Строчку
    Code:
    while true do
    замени на
    Code:
    while true do;
     
  3. marcos

    marcos New Member

    Joined:
    8 Nov 2009
    Messages:
    111
    Likes Received:
    1
    Reputations:
    -5
    Все равно таже ошибка(((
     
  4. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    937
    Likes Received:
    162
    Reputations:
    27
    Выложи полный код, скажу в чем ошибка.
     
  5. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    замени
    Code:
    while true do
    на
    Code:
    while true do begin end;
     
  6. marcos

    marcos New Member

    Joined:
    8 Nov 2009
    Messages:
    111
    Likes Received:
    1
    Reputations:
    -5

    Вот код потока

    Code:
    unit Unit3;
    
    interface
    
    uses
      Classes;
    
    type
      TnewThread = class(TThread)
      private
        { Private declarations }
      protected
        procedure Execute; override;
      end;
    
    implementation
    
    { Important: Methods and properties of objects in visual components can only be
      used in a method called using Synchronize, for example,
    
          Synchronize(UpdateCaption);
    
      and UpdateCaption could look like,
    
        procedure TnewThread.UpdateCaption;
        begin
          Form1.Caption := 'Updated in a thread';
        end; }
    
    { TnewThread }
    
    procedure TnewThread.Execute;
    begin
    while true do;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var
      NewThread: TNewThread;
    begin
      NewThread:=TNewThread.Create(true);
      NewThread.FreeOnTerminate:=true;
      NewThread.Priority:=tpLower;
      NewThread.Resume;
    end;
    
    end.
    
    
     
  7. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    глазки распахни, на скрине:
    TForm1.Button1Click
     
  8. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    вместо:
    поставь
     
  9. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    ага, у кого какие еще версии будут?

    автар скопировал код.

    до запуска дело не доходит, что вы ему тут втираете, поставь коммент, поставь begin end.

    Код хорошенько посмотрите.
     
  10. ][yZ

    ][yZ Member

    Joined:
    3 Mar 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    10
    ТС суров... копировать в код потока TForm1.Button1Click это нечто
     
  11. 1n0y

    1n0y Active Member

    Joined:
    9 May 2009
    Messages:
    272
    Likes Received:
    276
    Reputations:
    2
    дак он не в коде потока :)
     
  12. ][yZ

    ][yZ Member

    Joined:
    3 Mar 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    10
    именно в коде
    procedure TnewThread.Execute;
    begin
    while true do;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var
    NewThread: TNewThread;
    begin
    NewThread:=TNewThread.Create(true);
    NewThread.FreeOnTerminate:=true;
    NewThread.Priority:=tpLower;
    NewThread.Resume;
    end;
     
  13. 1n0y

    1n0y Active Member

    Joined:
    9 May 2009
    Messages:
    272
    Likes Received:
    276
    Reputations:
    2
    а может надо в uses написать побольше всего? например:
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;

    и чудесно будет твой код работать :)
     
  14. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    бред... ИМХО
    компилятор же пишет не какой нить unknown idintefer
    а то, что вместо ожидаемой . стоит ;

    удали цикл while и думаю скомпилируется
     
  15. 1n0y

    1n0y Active Member

    Joined:
    9 May 2009
    Messages:
    272
    Likes Received:
    276
    Reputations:
    2
    дак яж не просто так написал. сам проверил перед этим ;)