Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (все версии) - часть 4

Автор: akaGM
Дата сообщения: 26.01.2009 20:20
Maks150988
это твоя программа? тогда почему бы её не гнать под дебагом?

а если не твоя, то причин вылета может быть вагон и маленькая тележка: например, некорректная работа или конфликт установленных в системе кодеков...
Автор: Maks150988
Дата сообщения: 26.01.2009 21:43
akaGM
Программа-то моя, отладчик мне показывает вопросительные знаки в окне просмотра потоков, либо mov[чего-то тут еще] ( как-будто я что-то понимаю в этом, хотя думаю что нужно начинать осваивать отладчик с азов =) ). При чем я редко под отладчиком запускаю эту тестовую версию. Да и отладчиком то не пользуюсь - работает и работает себе программа, зачем ей мешать, как-будто драйвер какой-то делаю... Максимум так это я проверял в диспетчере задач утечку на GDI объекты.
Автор: Frodo_Torbins
Дата сообщения: 26.01.2009 22:02
Maks150988
Мама миа! Куда я попал?
Автор: Maks150988
Дата сообщения: 26.01.2009 22:23
Frodo_Torbins
Что не так!? =)
Автор: akaGM
Дата сообщения: 27.01.2009 12:37
Maks150988

Цитата:
Программа-то моя, отладчик мне показывает вопросительные знаки в окне просмотра потоков, либо mov[

э-э-э
отладчик (если мы говорим об интегрированом в среду дебагере) должен
показывать код, по которому ты скачешь F7/F8...
выставь в опциях проекта "генерить дебаг инфо" и/или убери из кода
директивы {$D-,L-} (если они там есть)
и за один прогон (2-3) ты локализуешь ошибку, потом причину ну итц...

ничего учить с азов не надо, ты чё?
Автор: Frodo_Torbins
Дата сообщения: 27.01.2009 14:50
Maks150988
Просто писать проги без отладки - это оооочень оригинально. Без работы с ошибками любая прога - генератор глюков. А я еще удивлялся, почему у меня ваш Stream Player через 5 минут работы вылетает.
Автор: Maks150988
Дата сообщения: 27.01.2009 15:07
akaGM
Помню я как-то забыл сделать проверку в коде на загруженность битмапа, так при отсутствии оного на диске (загружал из файла) была потеря ресурсов. Прогнал через отладчик и он мне показал строку кода, где собственно я обнаружил и устранил недочет. А тут просто отладчик пкоазывает окно с тредами где все строки забиты вопросительными знаками.

Frodo_Torbins
Да ладно, а если я просто один MessageBox с Hello world сделаю, тоже чтоли отлаживать надо. =) А вылететь может и через 15 минут и ли через минуту, а может и не вылетать. Как попало вообщем.

P.S. А то я тут f7 зажал и смотрел выполнение кода, так Делфи повисла, блин. =)
Автор: delover
Дата сообщения: 28.01.2009 14:45
Maks150988
Там (в отладчике) поди KillDispatcher или ntdll тебе показали или RtlAsquireSRWLockShared?...
Автор: dex_2005
Дата сообщения: 28.01.2009 15:23
Доброе время суток!
вопрос в следующем: Как средствами Delphi 7 из файла удалить нулевые символы которые в HEX-е отображаются как 00 00 00
Автор: Coltrain
Дата сообщения: 28.01.2009 16:30
dex_2005

Цитата:
Как средствами Delphi 7 из файла удалить нулевые символы которые в HEX-е отображаются как 00 00 00


procedure DelZeroChar(AInputFile:string; AOutPutFile:string);
var
FIn, FOut : TextFile;
TmpChar : Char;
begin
AssignFile(FIn, AInputFile);
Reset(FIn);
AssignFile(FOut, AOutPutFile);
Rewrite(FOut);

while not EOF(FIn) do
begin
Read(FIn, TmpChar);
if TmpChar <> #0 then Write(FOut, TmpChar);
end;

CloseFile(FIn);
CloseFile(FOut);
end;

Автор: Maks150988
Дата сообщения: 28.01.2009 18:15
delover
Врать не буду, смотрел все мельком, но вроде бы что-то похожее было. Если можно, объясните поподробнее что это за дела.
Автор: delover
Дата сообщения: 29.01.2009 06:13
Maks150988
У Вас, судя по всему, происходят ошибочные действия для компьютера. А эти надписи свидетельствуют о том, что же всё таки произошло. Дело в том, что ошибки бывают разные, и вовсе не обязательно, что ошибки произошли в доступной для просмотра памяти, хотя произвело эти ошибки Ваше приложение. Не имея даже маломальских сведений об ошибке, нет смысла их обсуждать.
Автор: dex_2005
Дата сообщения: 29.01.2009 07:29
Coltrain Спасибо огромное это то что надо ))


Добавлено:
Кто может подсказать, как добавить Прогресс бар в проект на Delphi 7? Что бы во время загрузки он показывал прогресс выполнения.
Автор: dex_2005
Дата сообщения: 29.01.2009 13:39
вопрос про Прогресс бар отклоняется решение в следующем:

Код:
ProgressBar1.Max := 32;
For I := 1 to 32 do
ProgressBar1.Position := I
Автор: ChiPnGo
Дата сообщения: 29.01.2009 20:46
Ситуация такая: чистая система, прога не работает, выдает stack overflow. После добавления в windows\system32 пачки стандартных bpl файлов начинает запускаться. После их удаления продолжает запускаться. Как вернуть систему к предыдущему состоянию?
Этот вопрос возникает потому, что есть компы, на котором прога не работает и добавление туда пакетов не дает результата (поскольку что-то наверно раньше добавлялось, но не те версии, которые нужны).
Автор: Frodo_Torbins
Дата сообщения: 29.01.2009 21:54
ChiPnGo

Цитата:
stack overflow
- обычно не связан с пакетами. При их отсутствии выдается сообщение о ненайденой библиотеке. Чтобы прояснить ситуацию попробуйте EurekaLog или другой логер.
Автор: ChiPnGo
Дата сообщения: 29.01.2009 22:42
Да, спасибо. Это именно то, что надо, чтобы найти причину ошибки при работе на машине пользователя.
А неприятно, при разработке никаких намеков не было, причем еще ошибка такая, что я не представляю, как я это в делфи допустил. Если бы с С++ - то другое дело.
Автор: ChiPnGo
Дата сообщения: 30.01.2009 13:37
Так, это значит, что юзеру на машину надо поставить делфи со всеми пакетами, чтобы это дело компилировалось и отлаживать?
Тогда это себе надо ставить виртуалку, воссоздавать ошибку и среду разработки.
Автор: Frodo_Torbins
Дата сообщения: 30.01.2009 14:20
ChiPnGo
EurekaLog только в триальном периоде требует установленой студии.
Автор: ChiPnGo
Дата сообщения: 30.01.2009 15:52
Скомпилировал с EurekaLog, не получил никакой новой информации при ошибке, поскольку программа зависла еще безнадежнее.
Внес небольшие изменения в код, скомпилировал с EurekaLog - начало везде правильно работать. Аналогичные изменения сделал в обычной версии - не работает.
Автор: Frodo_Torbins
Дата сообщения: 30.01.2009 16:36
В принципе EurekaLog не панацея, например она не контролирует всякие сторонние библиотеки и т д. Особенно если в этих библиотеках висит куча кода на DLL_PROCESS_ATTACH.
Автор: DmitryKz
Дата сообщения: 30.01.2009 20:28
Frodo_Torbins
Интересно построено предложение:

Цитата:
она не контролирует всякие сторонние библиотеки и т д. Особенно если

Так контролирует или нет?
Автор: ChiPnGo
Дата сообщения: 30.01.2009 21:23

Цитата:
Так контролирует или нет?

Контролирует так, как работает глюк в моей проге. То вроде возникает при каких-то обстоятельствах, то пропадает бесследно в зависимости от того, кто где успел себе выделить память.
Автор: Frodo_Torbins
Дата сообщения: 30.01.2009 23:28
DmitryKz
Она не может контролировать библиотеки где куча кода висит на DLL_PROCESS_ATTACH т к глюк происходит раньше, чем она начинает работать (хотя может я неправильно понимаю принцип ее работы).
Автор: Grande
Дата сообщения: 31.01.2009 11:17
Добрый день, уважаемые знатоки.
Не поможет ли кто решить такую проблему:
имеется хэндл экземляра TMemo другого приложения. Как можно поместить в этом мемо свой текст из своего приложения?
Спасибо.
Автор: ChiPnGo
Дата сообщения: 31.01.2009 11:46
Это вопрос по Win API.

sendmessage(handle, em_replacesel, 0, pchar('my text'));
Добавляет строку вместо выделенной (или в текущую позицию, если выделение нулевое).
Автор: Grande
Дата сообщения: 31.01.2009 12:24
ChiPnGo
Понял, спасибо, сейчас попробую.
Автор: Grande
Дата сообщения: 31.01.2009 14:34
Блин, никак не получается сделать перевод строки... Не реагирует на $0f хоть тресни
Автор: ChiPnGo
Дата сообщения: 31.01.2009 15:08
sendmessage(handle, em_replacesel, 0, pchar('my text'#13#10));

ага
Автор: Grande
Дата сообщения: 31.01.2009 15:11
ChiPnGo
Делал я так - не хочет
Может, потому, что поле ввода в другом приложении?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Глобальные переменные в разных формах с++ builder 'a.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.