Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

скачивание файла и мониторинг скорости

45K
19 ноября 2009 года
any_stuff
38 / / 16.09.2009
скачиваю файл с помощью TIdHTTP
и смотрю скорость закачки методом OnWork()
Код:
TformIdhttp *formIdhttp;

TDateTime timeStartFile, timeFinishBlock;
__int64 bytesOfFile;

//---------------------------------------------------------------------------
__fastcall TformIdhttp::TformIdhttp(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TformIdhttp::btnGetClick(TObject *Sender)
{
String strUrl = lbedUrl->Text;
String strPath = lbedPath->Text;
String strSpeed;
__int64 timeForFile;
TFileStream *fs = new TFileStream(strPath, fmCreate, fmShareDenyNone);
idhttpTest->Get(strUrl, fs);
delete fs;                                                   //fs->Free();
timeForFile = MilliSecondsBetween(timeFinishBlock, timeStartFile);
strSpeed = FormatFloat("'average speed is: '0.00' KB/s'", bytesOfFile*1000/timeForFile/1024);
statIndy->SimpleText = strSpeed;
}
//---------------------------------------------------------------------------
void __fastcall TformIdhttp::idhttpTestWorkBegin(TObject *ASender, TWorkMode AWorkMode,
          __int64 AWorkCountMax)
{
if (AWorkMode == wmRead) {
    timeStartFile = timeFinishBlock = Now();
    bytesOfFile = 0;
}
}
//---------------------------------------------------------------------------
void __fastcall TformIdhttp::idhttpTestWork(TObject *ASender, TWorkMode AWorkMode,
          __int64 AWorkCount)
{
if (AWorkMode == wmRead) {
    __int64 timeForBlock = MilliSecondsBetween(Now(), timeFinishBlock);
    if (timeForBlock > 0) {
        double bytesInBlock = AWorkCount - bytesOfFile;
        String s;
        if( bytesInBlock >= 1048576.0 )
            s = FormatFloat("0.00' MB/s'", (bytesInBlock*1000/1048576.0)/timeForBlock);
        else if( bytesInBlock >= 1024.0 )
            s = FormatFloat("0.00' KB/s'", (bytesInBlock*1000/1024.0)/timeForBlock);
        else
            s = FormatFloat("0.00' B/s'", bytesInBlock*1000/timeForBlock);
        statIndy->SimpleText = s;
        lstReply->Items->Add(s);
        Application->ProcessMessages();
    }
    bytesOfFile = AWorkCount;
    timeFinishBlock = Now();
}
}

использовал инфу с этого форума:
http://forum.codenet.ru/showpost.php?p=124518&postcount=3
и с форума codegear:
https://forums.codegear.com/thread.jspa?threadID=18812
собственно, всё работает, и даже скорость, вроде, правильно показывает,
но при закрытии программы выдаёт:
Цитата:
project ... faulted with message: 'access violation at...'

Страницы:
45K
23 ноября 2009 года
any_stuff
38 / / 16.09.2009
что, ни у кого нет мыслей??
гляньте, ато я запарился ужо
по-идее, засада должна лежать где-то на поверхности:
то же самое происходит, если я использую функцию
URLDownloadToFile()
то есть, всё скачивается зашибенско,
но при выходе из программы - "accsess violation..."
можт, я что-то не закрываю?
мне кажется, косяк буквально в этих трёх строчках:
 
Код:
TFileStream *fs = new TFileStream(strPath, fmCreate, fmShareDenyNone);
idhttpTest->Get(strUrl, fs);
delete fs;
1
23 ноября 2009 года
kot_
7.3K / / 20.01.2000
Что показывает отладчик?
Возможно ты удаляешь указатель на файловый поток - а он в это время используется.
45K
24 ноября 2009 года
any_stuff
38 / / 16.09.2009
Цитата: kot_
Что показывает отладчик?
Возможно ты удаляешь указатель на файловый поток - а он в это время используется.


выскакивает окно:
project ...\....... faulted with message: 'accsess violation at ... read of address ... process stopped use step or run to continue'
(выскакивает он только при попытке закрыть программу; скачивание файла, мониторинг текущей и средней скорости отрабатывают нормально; более того - можно скачать несколько файлов, и всё - ок, но стоит закрыть программу - ошибка)
при этом компиллятор выбрасывает в окно cpu - там адреса памяти, напротив них - знаки вопроса
при этом debugger пишет:

Цитата:
п»їThread Start: Thread ID: 3936. Process idhttp_proj.exe (5244)
Process Start: D:\#docs\prog\cpp\idhttp_test\Debug\idhttp_proj.exe. Base Address: $00400000. Process idhttp_proj.exe (5244)
Module Load: idhttp_proj.exe. Has Debug Info. Base Address: $00400000. Process idhttp_proj.exe (5244)
Module Load: ntdll.dll. No Debug Info. Base Address: $7C900000. Process idhttp_proj.exe (5244)
Module Load: KERNEL32.dll. No Debug Info. Base Address: $7C800000. Process idhttp_proj.exe (5244)
Module Load: rtl120.bpl. No Debug Info. Base Address: $50000000. Process idhttp_proj.exe (5244)
Module Load: OLEAUT32.dll. No Debug Info. Base Address: $77110000. Process idhttp_proj.exe (5244)
Module Load: msvcrt.dll. No Debug Info. Base Address: $77C00000. Process idhttp_proj.exe (5244)
Module Load: USER32.dll. No Debug Info. Base Address: $77D30000. Process idhttp_proj.exe (5244)
Module Load: GDI32.dll. No Debug Info. Base Address: $77F10000. Process idhttp_proj.exe (5244)
Module Load: ADVAPI32.dll. No Debug Info. Base Address: $77DC0000. Process idhttp_proj.exe (5244)
Module Load: RPCRT4.dll. No Debug Info. Base Address: $77E70000. Process idhttp_proj.exe (5244)
Module Load: Secur32.dll. No Debug Info. Base Address: $77FE0000. Process idhttp_proj.exe (5244)
Module Load: ole32.dll. No Debug Info. Base Address: $774D0000. Process idhttp_proj.exe (5244)
Module Load: VERSION.dll. No Debug Info. Base Address: $77BF0000. Process idhttp_proj.exe (5244)
Module Load: MPR.dll. No Debug Info. Base Address: $71B00000. Process idhttp_proj.exe (5244)
Module Load: IMAGEHLP.dll. No Debug Info. Base Address: $76C80000. Process idhttp_proj.exe (5244)
Module Load: WSOCK32.dll. No Debug Info. Base Address: $71AB0000. Process idhttp_proj.exe (5244)
Module Load: WS2_32.dll. No Debug Info. Base Address: $71A90000. Process idhttp_proj.exe (5244)
Module Load: WS2HELP.dll. No Debug Info. Base Address: $71A80000. Process idhttp_proj.exe (5244)
Module Load: OLEACC.dll. No Debug Info. Base Address: $74C40000. Process idhttp_proj.exe (5244)
Module Load: MSVCP60.dll. No Debug Info. Base Address: $76050000. Process idhttp_proj.exe (5244)
Module Load: vcl120.bpl. No Debug Info. Base Address: $50120000. Process idhttp_proj.exe (5244)
Module Load: MSIMG32.dll. No Debug Info. Base Address: $76350000. Process idhttp_proj.exe (5244)
Module Load: COMCTL32.dll. No Debug Info. Base Address: $773C0000. Process idhttp_proj.exe (5244)
Module Load: SHLWAPI.dll. No Debug Info. Base Address: $77F60000. Process idhttp_proj.exe (5244)
Module Load: SHELL32.dll. No Debug Info. Base Address: $7C9C0000. Process idhttp_proj.exe (5244)
Module Load: comdlg32.dll. No Debug Info. Base Address: $76380000. Process idhttp_proj.exe (5244)
Module Load: WINSPOOL.DRV. No Debug Info. Base Address: $72FC0000. Process idhttp_proj.exe (5244)
Module Load: oledlg.dll. No Debug Info. Base Address: $7DFC0000. Process idhttp_proj.exe (5244)
Module Load: IndyCore120.bpl. No Debug Info. Base Address: $00330000. Process idhttp_proj.exe (5244)
Module Load: IndySystem120.bpl. No Debug Info. Base Address: $00390000. Process idhttp_proj.exe (5244)
Module Load: IndyProtocols120.bpl. No Debug Info. Base Address: $00420000. Process idhttp_proj.exe (5244)
Module Load: borlndmm.dll. No Debug Info. Base Address: $20FF0000. Process idhttp_proj.exe (5244)
Module Load: cc3290mt.dll. No Debug Info. Base Address: $32900000. Process idhttp_proj.exe (5244)
Module Load: APSHook.dll. No Debug Info. Base Address: $10000000. Process idhttp_proj.exe (5244)
Module Load: IMM32.dll. No Debug Info. Base Address: $76360000. Process idhttp_proj.exe (5244)
Module Load: UxTheme.dll. No Debug Info. Base Address: $5B260000. Process idhttp_proj.exe (5244)
Module Load: MSCTF.dll. No Debug Info. Base Address: $746E0000. Process idhttp_proj.exe (5244)
Module Load: UnlockerHook.dll. No Debug Info. Base Address: $00E70000. Process idhttp_proj.exe (5244)
Module Load: lgscroll.dll. No Debug Info. Base Address: $10100000. Process idhttp_proj.exe (5244)
Module Load: MSVCR80.dll. No Debug Info. Base Address: $78130000. Process idhttp_proj.exe (5244)
Module Load: NTMARTA.dll. No Debug Info. Base Address: $77680000. Process idhttp_proj.exe (5244)
Module Load: WLDAP32.dll. No Debug Info. Base Address: $76F50000. Process idhttp_proj.exe (5244)
Module Load: SAMLIB.dll. No Debug Info. Base Address: $71BD0000. Process idhttp_proj.exe (5244)
Module Load: BtMmHook.dll. No Debug Info. Base Address: $00ED0000. Process idhttp_proj.exe (5244)
Module Load: widecapdrv.dll. No Debug Info. Base Address: $06000000. Process idhttp_proj.exe (5244)
Module Load: SETUPAPI.dll. No Debug Info. Base Address: $77910000. Process idhttp_proj.exe (5244)
Module Load: appHelp.dll. No Debug Info. Base Address: $77B30000. Process idhttp_proj.exe (5244)
Module Load: CLBCatQ.DLL. No Debug Info. Base Address: $76FC0000. Process idhttp_proj.exe (5244)
Module Load: COMRes.dll. No Debug Info. Base Address: $77040000. Process idhttp_proj.exe (5244)
Module Load: CSCUI.dll. No Debug Info. Base Address: $77A10000. Process idhttp_proj.exe (5244)
Module Load: CSCDLL.dll. No Debug Info. Base Address: $765D0000. Process idhttp_proj.exe (5244)
Thread Start: Thread ID: 684. Process idhttp_proj.exe (5244)
Module Load: MSWSOCK.dll. No Debug Info. Base Address: $71A30000. Process idhttp_proj.exe (5244)
Module Load: HNetCfg.dll. No Debug Info. Base Address: $698B0000. Process idhttp_proj.exe (5244)
Module Load: proxy32.dll. No Debug Info. Base Address: $01450000. Process idhttp_proj.exe (5244)
Module Load: WSHTCPIP.dll. No Debug Info. Base Address: $71A70000. Process idhttp_proj.exe (5244)
Thread Start: Thread ID: 5168. Process idhttp_proj.exe (5244)
Thread Start: Thread ID: 2984. Process idhttp_proj.exe (5244)
Thread Start: Thread ID: 5508. Process idhttp_proj.exe (5244)
Module Load: DNSAPI.dll. No Debug Info. Base Address: $76F10000. Process idhttp_proj.exe (5244)
Module Load: rasadhlp.dll. No Debug Info. Base Address: $76FB0000. Process idhttp_proj.exe (5244)
Thread Exit: Thread ID: 684. Process idhttp_proj.exe (5244)
Thread Exit: Thread ID: 5508. Process idhttp_proj.exe (5244)
Thread Exit: Thread ID: 5168. Process idhttp_proj.exe (5244)
Thread Exit: Thread ID: 2984. Process idhttp_proj.exe (5244)


многовато, но текстовый файл прикрепить не удалось...

288
24 ноября 2009 года
nikitozz
1.2K / / 09.03.2007
Что call stack показывает? Кстати, советую для подобных таких случаев присмотреться к madExcept. Для личного использования она бесплатна.
45K
25 ноября 2009 года
any_stuff
38 / / 16.09.2009
Цитата: nikitozz
Что call stack показывает?


Код:
:7c90e48a ntdll.KiUserExceptionDispatcher + 0xe
:7c90327a ntdll.RtlConvertUlongToLargeInteger + 0x3c
:7c90e48a ntdll.KiUserExceptionDispatcher + 0xe
:7c90327a ntdll.RtlConvertUlongToLargeInteger + 0x3c
:7c90e48a ntdll.KiUserExceptionDispatcher + 0xe
:7c90327a ntdll.RtlConvertUlongToLargeInteger + 0x3c
:7c90e48a ntdll.KiUserExceptionDispatcher + 0xe
:7c90327a ntdll.RtlConvertUlongToLargeInteger + 0x3c
:7c90e48a ntdll.KiUserExceptionDispatcher + 0xe
:7c90327a ntdll.RtlConvertUlongToLargeInteger + 0x3c
:7c90e48a ntdll.KiUserExceptionDispatcher + 0xe
:7c90327a ntdll.RtlConvertUlongToLargeInteger + 0x3c
:7c90e48a ntdll.KiUserExceptionDispatcher + 0xe
:7c90327a ntdll.RtlConvertUlongToLargeInteger + 0x3c
:7c90e48a ntdll.KiUserExceptionDispatcher + 0xe
:7c90327a ntdll.RtlConvertUlongToLargeInteger + 0x3c
:7c90e48a ntdll.KiUserExceptionDispatcher + 0xe
:7c90327a ntdll.RtlConvertUlongToLargeInteger + 0x3c
:7c90e48a ntdll.KiUserExceptionDispatcher + 0xe
:7c90327a ntdll.RtlConvertUlongToLargeInteger + 0x3c
:7c90e48a ntdll.KiUserExceptionDispatcher + 0xe
:329a08b0 ; C:\WINDOWS\system32\CC3290MT.DLL
:329a08fb CC3290MT.__unsetuserhandler + 0x33
:329c44e9 ; C:\WINDOWS\system32\CC3290MT.DLL
:329012b3 ; C:\WINDOWS\system32\CC3290MT.DLL
:7c9235f7 ; ntdll.dll
:7c81cd86 ; C:\WINDOWS\system32\kernel32.dll
:7c81cdfe kernel32.ExitProcess + 0x14
:329c3ef8 ; C:\WINDOWS\system32\CC3290MT.DLL
:329c110b CC3290MT._execve + 0x7b
:329c1124 CC3290MT._exit + 0x10
:329c41d0 ; C:\WINDOWS\system32\CC3290MT.DLL

там много, поэтому привожу последние несколько строк
во вложении - всё полностью
(файл великоват, так что, пришлось пожать)
14
27 ноября 2009 года
Phodopus
3.3K / / 19.06.2008
Вы где-то непреднамеренно портите указатель или другие системные данные. На первый взгляд - не в приведенных строчках. Если нет желания выкладывать код полностью действуйте методом исключения - убирайте по методу до получения работоспособного состояния.
45K
27 ноября 2009 года
any_stuff
38 / / 16.09.2009
Цитата: Phodopus
Если нет желания выкладывать код полностью


Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "idhttp_test.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TformIdhttp *formIdhttp;

TDateTime timeStartFile, timeFinishBlock;
__int64 bytesOfFile;

//---------------------------------------------------------------------------
__fastcall TformIdhttp::TformIdhttp(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TformIdhttp::btnGetClick(TObject *Sender)
{
String strUrl = lbedUrl->Text;
String strPath = lbedPath->Text;
String strSpeed;
__int64 timeForFile;
TFileStream *fs = new TFileStream(strPath, fmCreate, fmShareDenyNone);
idhttpTest->Get(strUrl, fs);
idhttpTest->Free();
fs->Free();//delete fs;                                                   //fs->Free();
timeForFile = MilliSecondsBetween(timeFinishBlock, timeStartFile);
if (timeForFile > 0) {
    strSpeed = FormatFloat("'average speed is: '0.00' KB/s'", bytesOfFile*1000/timeForFile/1024);
    statIndy->SimpleText = strSpeed;
}
}
//---------------------------------------------------------------------------
void __fastcall TformIdhttp::idhttpTestWorkBegin(TObject *ASender, TWorkMode AWorkMode,
          __int64 AWorkCountMax)
{
if (AWorkMode == wmRead) {
    timeStartFile = timeFinishBlock = Now();
    bytesOfFile = 0;
}
}
//---------------------------------------------------------------------------
void __fastcall TformIdhttp::idhttpTestWork(TObject *ASender, TWorkMode AWorkMode,
          __int64 AWorkCount)
{
if (AWorkMode == wmRead) {
    __int64 timeForBlock = MilliSecondsBetween(Now(), timeFinishBlock);
    if (timeForBlock > 0) {
        double bytesInBlock = AWorkCount - bytesOfFile;
        String s, strBytes;
        if( bytesInBlock >= 1048576.0 )
            s = FormatFloat("0.00' MB/s'", (bytesInBlock*1000/1048576.0)/timeForBlock);
        else if( bytesInBlock >= 1024.0 )
            s = FormatFloat("0.00' KB/s'", (bytesInBlock*1000/1024.0)/timeForBlock);
        else
            s = FormatFloat("0.00' B/s'", bytesInBlock*1000/timeForBlock);
        strBytes = FormatFloat("0' bytes'", bytesInBlock);
        statIndy->SimpleText = s;
        lstReply->Items->Add(s);
        lstBytes->Items->Add(strBytes);
        Application->ProcessMessages();
    }
    bytesOfFile = AWorkCount;
    timeFinishBlock = Now();
}
}
//---------------------------------------------------------------------------

void __fastcall TformIdhttp::btnCloseClick(TObject *Sender)
{
exit(0);
}
//---------------------------------------------------------------------------

собственно, вот весь код...
стоит закомментить строки:
idhttpTest->Get(strUrl, fs);
idhttpTest->Free();
- и всё работает нормально.

ещё одна интересная особенность -
вылетает прога только если запускать из борланда
с сообщением: "debugger fault notification"
если просто запускать exe-шник - всё норм
(madExcept поставил, спс)
14
27 ноября 2009 года
Phodopus
3.3K / / 19.06.2008
так и не разберетесь что к чему? :) (по закоментированному)
->Free() никогда не надо, это для Delphi, надо delete.
И exit(0) меня смущает, но тут могу ошибаться. Лучше Application->Terminate().
45K
27 ноября 2009 года
any_stuff
38 / / 16.09.2009
Цитата: Phodopus
так и не разберетесь что к чему? :) (по закоментированному)
->Free() никогда не надо, это для Delphi, надо delete.
И exit(0) меня смущает, но тут могу ошибаться. Лучше Application->Terminate().


поменял free на delete
и exit(0) на terminate (exit - это для консольных)
результат - отсутствует

//suicide is painless
//it brings on many changes

288
28 ноября 2009 года
nikitozz
1.2K / / 09.03.2007
Цитата: any_stuff
поменял free на delete
и exit(0) на terminate (exit - это для консольных)
результат - отсутствует



Все же повторюсь :) Попробуйте madExcept. Как минимум увидите последовательность вызовов каких функций приводит к краху программы.

45K
28 ноября 2009 года
any_stuff
38 / / 16.09.2009
Цитата: nikitozz
Все же повторюсь :) Попробуйте madExcept. Как минимум увидите последовательность вызовов каких функций приводит к краху программы.


говорюж madExcept поставил. спасибо
но он перехватывает ошибки только если запускать exe-шник
а там почему-то ошибок нет (видимо, винда их фиксит)
вылетает ТОЛЬКО при запуске из компиллятора по F9

45K
28 ноября 2009 года
any_stuff
38 / / 16.09.2009
поставил breakpoint на Application->Terminate();
после ряда шагов попадаю на windows.pas:
в частности, раз 20:
 
Код:
procedure ZeroMemory(Destination: Pointer; Length: DWORD);
begin
  FillChar(Destination^, Length, 0);
end;

затем:
 
Код:
function CreateMutexA(lpMutexAttributes: PSecurityAttributes; bInitialOwner: BOOL; lpName: PAnsiChar): THandle;
begin
  Result := _CreateMutexA(lpMutexAttributes, Integer(Boolean(bInitialOwner)), lpName);
end;

и затем:
 
Код:
initialization
  HtmlHelpModule := 0;
finalization
  if HtmlHelpModule <> 0 then FreeLibrary(HtmlHelpModule);
end.

а потом выкидывает в окно CPU:
 
Код:
7C90E480 8B1C24           mov ebx,[esp]
7C90E483 51               push ecx
7C90E484 53               push ebx
7C90E485 E8F1C00100       call $7c92a57b

и, на последней строке вылетает то самое окно
"accsess violation..."

причём, опять же повторюсь, всё это происходит только если используется IdHTTP
(на форме ещё много всякого, но, если в инет не лазить, - прога закрывается ок)
45K
01 декабря 2009 года
any_stuff
38 / / 16.09.2009
чо-т тема подзаглохла....
14
02 декабря 2009 года
Phodopus
3.3K / / 19.06.2008
Выложили бы проект целиком быстрей бы было.. возможно..
В общем добрался я таки до bcb2k9. Этот проект у меня ни разу не вылетел. Досконально не разбирался что к чему - даже почему статус не обновляется.
45K
02 декабря 2009 года
any_stuff
38 / / 16.09.2009
да проект-то выложить - не проблема, но особо смысла я не вижу:
вылетать начинает как только на чистую форму добавляешь доступ в инет
открыл новый проект, добавил кнопку, добавил OnClick
стоит вставить туда
 
Код:
idhttpTest->Get(strUrl, fs);

или
 
Код:
URLDownloadToFile( 0, adress.c_str(), path.c_str(), 0, 0);

кароче, что-нибудь, что ломится в инет - и при закрытии выдаёт ошибку
причем, в отличии от остальных ошибок, эту madExcept не ловит
стоит закомментить соединение с инетом - всё норм
и это - на совершенно пустой форме
288
03 декабря 2009 года
nikitozz
1.2K / / 09.03.2007
Что-то я пропустил в ходе дискуссии: в какой версии Builder'а работаете?
45K
03 декабря 2009 года
any_stuff
38 / / 16.09.2009
rad 2009
14
03 декабря 2009 года
Phodopus
3.3K / / 19.06.2008
Файерволл шалит? Но это как-то совсем маловероятно. Тогда бы и браузеры всякие накрывались.
В любом случае пробуйте на другой системе.
53K
03 декабря 2009 года
Pala4
10 / / 30.11.2009
Попробуйте другой способ, например:
 
Код:
NMHTTP1->InputFileMode=true;
NMHTTP1->Get(" http://www.xxx.ru/pic.gif");
NMHTTP1->Body="pic.gif"; //на винт скинуть
45K
03 декабря 2009 года
any_stuff
38 / / 16.09.2009
Цитата: Pala4
Попробуйте другой способ, например:
 
Код:
NMHTTP1->InputFileMode=true;
NMHTTP1->Get(" http://www.xxx.ru/pic.gif");
NMHTTP1->Body="pic.gif"; //на винт скинуть


ок, ща попробую, а что это за компонент, где его найти,
и что надо подключить, чтоб он заработал?

53K
03 декабря 2009 года
Pala4
10 / / 30.11.2009
Найдите вкладку FastNet, в ней компонента NMHTTP, бросьте её на форму. Ничего подключать не нужно.
В хелпе всё описано:

Цитата:
Description
The TNMHTTP Component is used for conducting HTTP transfers across the World Wide Web. The TNMHTTP component is HTTP 1.1 compliant. и т.д.

45K
03 декабря 2009 года
any_stuff
38 / / 16.09.2009
Цитата: Pala4
Найдите вкладку FastNet, в ней компонента NMHTTP, бросьте её на форму. Ничего подключать не нужно.


хммм....
нет у меня вкладки fastnet
более того, хелпа говорит, что не знает ничего про TNMHTTP

288
04 декабря 2009 года
nikitozz
1.2K / / 09.03.2007
FastNet не входит в стандартный набор компонентов Builder'а. Необходимо скачавать и устанавливать.
1
04 декабря 2009 года
kot_
7.3K / / 20.01.2000
Цитата: nikitozz
FastNet не входит в стандартный набор компонентов Builder'а. Необходимо скачавать и устанавливать.


это касается 2009? там чтото изменилось?
Во всех версиях билдера это были стандартные компонеты.

246
04 декабря 2009 года
GIZMO
1.8K / / 30.07.2004
Цитата: kot_
это касается 2009? там чтото изменилось?
Во всех версиях билдера это были стандартные компонеты.



в 2009 только Indy

288
04 декабря 2009 года
nikitozz
1.2K / / 09.03.2007
Цитата: kot_
это касается 2009? там чтото изменилось?
Во всех версиях билдера это были стандартные компонеты.



По-моему уже в Delphi 7 этих компонентов не было, так как они платные стали. Про 2006 точно не скажу.

14
04 декабря 2009 года
Phodopus
3.3K / / 19.06.2008
Это так. 6-ой билдер был последним с ними.
45K
04 декабря 2009 года
any_stuff
38 / / 16.09.2009
тему можна закрывать, разобрался...
 
Код:
IdHTTP1->FreeInstance();

решает проблему
пока не разобрался с URLDownloadToFile...
решу - отпишусь...
14
04 декабря 2009 года
Phodopus
3.3K / / 19.06.2008
Цитата: any_stuff

 
Код:
IdHTTP1->FreeInstance();

решает проблему


Боже! Вы хоть поняли что это?! Это то еще зачем?! Меня явно веселит сегодняшний форум..

45K
04 декабря 2009 года
any_stuff
38 / / 16.09.2009
х.з. ...
 
Код:
URLDownloadToFile
всё равно вылетает...
кто что придумает - пишите
45K
04 декабря 2009 года
any_stuff
38 / / 16.09.2009
Цитата: Phodopus
Боже! Вы хоть поняли что это?! Это то еще зачем?! Меня явно веселит сегодняшний форум..


память освобождает

14
04 декабря 2009 года
Phodopus
3.3K / / 19.06.2008
Цитата: any_stuff
память освобождает


А вы ее выделяли? Прочитайте хоть в справке что делает TObject->FreeInstance(). Я даже помогу немного:
[QUOTE=Какая-то справка]
All destructors call FreeInstance automatically to deallocate memory that was allocated by overriding NewInstance.

Do not call FreeInstance directly. FreeInstance should be overridden if NewInstance was overridden to change the way the object’s instance data was allocated.

Like NewInstance, FreeInstance uses the value returned from InstanceSize to deallocate the object's memory.
[/QUOTE]

45K
04 декабря 2009 года
any_stuff
38 / / 16.09.2009
вобщем, не буду особо спорить...
выкладываю проект
комментишь строку
 
Код:
IdHTTP1->FreeInstance();
- вылетает
разкомментишь - всё норм
дай мыло, куда скинуть проект, ато тут ограничение на zip 100кб
14
04 декабря 2009 года
Phodopus
3.3K / / 19.06.2008
Цитата: any_stuff
вобщем, не буду особо спорить...
выкладываю проект
комментишь строку
 
Код:
IdHTTP1->FreeInstance();
- вылетает
разкомментишь - всё норм
дай мыло, куда скинуть проект, ато тут ограничение на zip 100кб


Не нужно просто засовывать в zip всякую ерунду. Я же как-то выложил проект? :) И всего 7 кб...

45K
04 декабря 2009 года
any_stuff
38 / / 16.09.2009
вобщем, не буду особо спорить...
выкладываю проект
комментишь строку
 
Код:
IdHTTP1->FreeInstance();
- вылетает
разкомментишь - всё норм
project
45K
04 декабря 2009 года
any_stuff
38 / / 16.09.2009
да уже переправил пост...
на ссылку кликай
//собаку хоть бы заменил на чо...
45K
04 декабря 2009 года
any_stuff
38 / / 16.09.2009
ну что, господа, каков вердикт?
288
05 декабря 2009 года
nikitozz
1.2K / / 09.03.2007
Цитата: any_stuff

разкомментишь - всё норм
project



А где проект то?

45K
05 декабря 2009 года
any_stuff
38 / / 16.09.2009
Цитата: nikitozz
А где проект то?


я его через opera unite выкладываю,
так что он доступен только когда мой комп включён
попробуй щас
а если не успеешь - я сегодня после восьми буду дома
до поздней ночи включу - точно не промахнёшься

288
06 декабря 2009 года
nikitozz
1.2K / / 09.03.2007
Цитата: any_stuff
я его через opera unite выкладываю,
так что он доступен только когда мой комп включён
попробуй щас
а если не успеешь - я сегодня после восьми буду дома
до поздней ночи включу - точно не промахнёшься



Кинь на почту: nikitozz[собака]mail.ru

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог