Текущий архив: 2006.10.29;
Скачать: CL | DM;
Вниз
Трассировка кода Найти похожие ветки
← →
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;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.034 c