Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Вниз

Трассировка кода   Найти похожие ветки 

 
WINNT   (2006-10-16 20:57) [0]

Как его трассировать?
Ламерский вопрос, но я только начал ДЕлфи заниматься


 
Kolan ©   (2006-10-16 20:59) [1]

F8, F7


 
sco ©   (2006-10-16 21:03) [2]

блин не успел... но ладно напишу F7, F8 а также из меню Run, также остановить прогу можно из неё же самой нажав F12 (не в делфи а в твоей проге), правда таблица 16ая вылезет, но зато можна быстро затормозить прогу, работает в D7. Eщё есть Ctrl+F2 ето отрубить нафиг прогу, нажимать в делфи... покопайся в меню run


 
WINNT   (2006-10-16 21:05) [3]

Имеется код, на TCPServer, на accept, ну типа файлы он принимает, в конце передачи файла вылезает Access Violation и при приеме второго файла куда-то исчезает прогрессбар, сказали, что надо трассировать код, но что это и зачем, я не понимаю :-(


 
WINNT   (2006-10-16 21:06) [4]

2 sco

пасиб, ща буду разбираться :-)


 
Kolan ©   (2006-10-16 21:07) [5]

Точка останова(F5)...


> sco ©   (16.10.06 21:03) [2]

Первонах :)


 
XP UserR-rr   (2006-10-16 21:13) [6]

Блин, все равно не пойму в чем проблема, вот код:


unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Sockets, StdCtrls, ComCtrls;

type
 TForm1 = class(TForm)
   TcpClient1: TTcpClient;
   fileser: TTcpServer;
   cmdser: TTcpServer;
   pr: TProgressBar;
   Label1: TLabel;
   Label2: TLabel;
   procedure cmdserAccept(Sender: TObject;
     ClientSocket: TCustomIpClient);
   procedure FormCreate(Sender: TObject);
   procedure fileserAccept(Sender: TObject;
     ClientSocket: TCustomIpClient);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation
uses unit2;
{$R *.dfm}
var
oname : string;

procedure TForm1.cmdserAccept(Sender: TObject;
 ClientSocket: TCustomIpClient);

begin
oname := clientsocket.Receiveln;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
cmdser.Active := true;
fileser.Active := true;

end;

procedure TForm1.fileserAccept(Sender: TObject;
 ClientSocket: TCustomIpClient);
const
 TIMEOUT = 1000;
 BUF_SIZE = 1024;
var
 buf: array [0..BUF_SIZE - 1] of Byte;
 file_size, read_current: Integer;
 read_total: Integer;
 FW :TFileStream;
 percent : integer;
 per : string;
 bu : real;

begin

 FW:=Tfilestream.Create("d:\Documents\" + oname,fmcreate);
 if ClientSocket.WaitForData(TIMEOUT) then
 begin
   if ClientSocket.ReceiveBuf(file_size, SizeOf(Int64)) = SizeOf(Int64)  
then
   begin
     read_total := 0;
     form2.visible:= true;
     form2.Label2.Caption := oname;
    {form2.pr1.Left := 14;
     form2.pr1.Left := 16;
     form2.pr1.Position := 0; }

     with FW do
     try
       while (read_total <> file_size) and ClientSocket.WaitForData(TIMEOUT) do
       begin
         read_current := ClientSocket.ReceiveBuf(buf, BUF_SIZE);
         Write(buf, read_current);
         Inc(read_total, read_current);
         bu := read_total/file_size*100;
         bu :=round(bu);
         per := floattostr(bu);

         percent := strtoint(per);
         form2.pr1.Position := percent;
         form2.Label3.caption := inttostr(percent) + "%";

       end;
      { form2.pr1.Position := 0;  }
     form2.Label3.Caption := "0%";
     finally
     form2.visible := false;
     fw.Free;

     end;
   end;
 end;

end;

end.


Почему при закрытии формы вылезает AV
Там еще второй юнит есть, но там ничё нету


 
Kolan ©   (2006-10-16 21:16) [7]


> XP UserR-rr   (16.10.06 21:13) [6]

Ты кто?


 
XP UserR-rr   (2006-10-16 21:17) [8]

Да блин, не в ту тему  :) Сорри за мусор


 
_Ламер_   (2006-10-16 22:39) [9]

А как вызвать лист с переменными (Watches)?  Я его закрыл однажды и теперь он не показывается никак.


 
Kolan ©   (2006-10-16 22:43) [10]


> Watches)

Ctrl + F5 :)


 
_Ламер_   (2006-10-17 00:04) [11]

Неа, показывается окно свойств, жму ОК, а дальше ничего.


 
Kolan ©   (2006-10-17 00:06) [12]


> жму ОК

Не жми.. :) Чем еще помочь..?


 
_Ламер_   (2006-10-17 00:10) [13]

Дык не видно ж ничего в окне свойств.


 
Kolan ©   (2006-10-17 00:12) [14]


> Дык не видно ж ничего в окне свойств.
>

Что есть окно свойств? Мы вроде про окно наблюдения Watches. Если это оно, то пока туда не добавишь что-то там будет пусто. Приме:
var
 A: Integer;

Выделил A нажал Ctrl + F5 - радуешься...


 
ЮЮ ©   (2006-10-17 03:06) [15]


>
> Выделил A нажал Ctrl + F5 - радуешься...

А чтобы оставалось наверху, "приклей" куда-нибудь к редактору кода: потаскай мышью, остановсь на более удобном варианте


 
Сергей М. ©   (2006-10-17 09:00) [16]


> XP UserR-rr   (16.10.06 21:13) [6]


Чему равно св-во BlockMode компонентов fileser, cmdser ?
Где обработка событий OnReceive, почему вместо обработки этих событий для приема данных используется предназначенное вовсе не для этого св-во-событие OnAccept ?


 
XP UserR-rr   (2006-10-17 12:01) [17]


> Сергей М.


А в чем разница между Blocking  и  nonBlocking?


 
Сергей М. ©   (2006-10-17 12:35) [18]


> в чем разница между Blocking  и  nonBlocking?


Разница есть, и ощутимая. Здесь оно не суть как важно, потому что я подозреваю, что у тебя bmThreadBlocking ...


 
Gydvin ©   (2006-10-17 12:55) [19]


> Watches

А для чего вообще это окно?


 
_Ламер_   (2006-10-17 13:10) [20]


> Kolan ©   (17.10.06 00:12) [14]
> > Дык не видно ж ничего в окне свойств.> Что есть окно свойств?
>  Мы вроде про окно наблюдения Watches. Если это оно, то
> пока туда не добавишь что-то там будет пусто. Приме:var
>  A: Integer;Выделил A нажал Ctrl + F5 - радуешься...


Дык нету его нигде. Нажимаю комбинацию, фокус пропадает у делфийских окон и всё. Оно где-то есть и его нигде нет))


> А чтобы оставалось наверху, "приклей" куда-нибудь к редактору
> кода: потаскай мышью, остановсь на более удобном варианте


Я так и сделал. А потом его закрыл. И всё.


 
Плохиш ©   (2006-10-17 14:13) [21]

Виндовскую строку задач уменьши и там он и будет родимый.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.039 c
15-1160461602
ors_archangel
2006-10-10 10:26
2006.10.29
Как на асме посчитать арктангенс


3-1156354971
Garyck
2006-08-23 21:42
2006.10.29
Ошибка ADO


15-1159610047
Сатир
2006-09-30 13:54
2006.10.29
Соц. опрос


2-1160987510
pkm
2006-10-16 12:31
2006.10.29
МЕМО поле


1-1158750131
salexn
2006-09-20 15:02
2006.10.29
использование TWebBrowser





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский