Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

За 2005-08-18

Re: Библиотека не дает программе зактываться

Здравствуйте !

> Если в приложении библиотека не запускается с
> помощью LoadLibrary,> то приложение> нормально закрывается.
> Но стоит ее разок загрузить, как > уже приложение
> по нажатию на> закрывание главного окна не закрывается (после
> FreeLibrary). Как от этого м.> избавиться,

А в dll-ке потоки, окна создаются ?
И производится ли там сабклассинг окон в этой самой hook-процедуре ?
Короче, надо смотреть просто отладчиком где висит.
Просто поставь точки останова во всех функциях длл-ки, которые
могут вызываться, и увидишь где виснет. Ну, или в дебаггер инфу
кидай.

--
С уважением, Вахтуров Виктор.

Номер выпуска : 4848
Возраст листа : 697 (дней)
Количество подписчиков : 528
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/419879
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

   2005-08-18 22:36:22 (#419879)

Re[3]: Это Интересно.

>, Feniks

F> Здравствуйте, Шистеров.

F> Вы писали 16 августа 2005 г., 14:12:01:

>> Здравствуйте, -=BETA,

>> Tuesday, August 16, 2005, 4:20:56 PM, вы писали:

BT>>> Как сделать procedure Test(AFile: TMyRec; Str1: string);

BT>>> Чтобы когда её вызываешь необязательно было заполнять все её параметры
BT>>> (AFile, Str1) так как это сделано в процедуре Reset(...); - она имеет
BT>>> два параметра но можно заполнить только первый.

BT>>> Как сделать такое же?

>> Описать 2 процедуры, одну с одним параметром, другую с 2-мя.

F> Или можно по другому.
F> Например, надо сделать не обязательным параметр Str1: string.
F> Тогда в его объявлении необходимо присвоит значение по умолчанию:
F> procedure Test(AFile: TMyRec; Str1: string = '');
F> В этом случае, при вызове процедуры или функции Test этот параметр
F> можно не указывать, он будет брать значение указанное по умолчанию.

Спасибо!!!

Номер выпуска : 4847
Возраст листа : 697 (дней)
Количество подписчиков : 528
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/419699
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

   2005-08-18 17:02:59 (#419699)

Re[2]: Это Интересно.

>, Шистеров Павел

ШП> Описать 2 процедуры, одну с одним параметром, другую с 2-мя.

function SameValue(const A, B: Extended; Epsilon: Extended = 0): Boolean; overload;

Номер выпуска : 4846
Возраст листа : 697 (дней)
Количество подписчиков : 528
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/419698
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

   2005-08-18 16:59:59 (#419698)

TStrings in Record

Создаю новы тип:

type
TMyRec = record
stri: TStrings;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
F: file of TMyRec;
R: TMyRec;
begin
R.stri := TStringList.Create;
R.stri.Add('test');

AssignFile(F, 'test.dat');
Rewrite(F);
Reset(F);
Write(F, R);

CloseFile(F);

R.stri.Free;
end;

В коде видно что я добавляю строку (test) но в файл она не сохраняется
- почему!?

И с помощью TFileStream тоже нечего не сохраняется!

Знаю что TStringList можно сохранить методом R.stri.SaveToFile то мне
нужно именно TFileStream или переменной файлового типа.

Как сохранить?

*******
{_-|-_}

Номер выпуска : 4845
Возраст листа : 697 (дней)
Количество подписчиков : 528
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/419697
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

   2005-08-18 16:56:11 (#419697)

Re: delta-offset

Здравствуйте, asd.

Вы писали 15 августа 2005 г., 23:14:17:

> Не могу понять до конца, как получать дельта смещение.
> Вот есть след строки:
> [1234:0200h] call Get_IP
> [1234:0203h] Get_IP:
> [1234:0203h] pop ax
> [1234:0204h] sub ax,offset Get_IP
> Компилятор при ассемблировании вместо Get_IP поставит ее адрес - получится:
> [1234:0200h] call 0203h
> [1234:0203h] pop ax
> [1234:0204h] sub ax,0203h
> Т.е. 203 это типа константы. Дальше заражаем файл размером 1000h, получаем:
> [1234:1200h] call Get_IP
> [1234:1203h] Get_IP:
> [1234:1203h] pop ax
> [1234:1204h] sub ax,offset Get_IP
> Но ведь Get_IP= 203h, тогда call Get_IP должен перенести нас не по адресу 1203h,а
> по адресу 203h,а почему-то так не получается.
> Я понимаю, что call кладет в стек адрес следующей за ним инструкции и ах затем
> будет = 1203h, но почему Get_IP поменялся с 203h на 1203h не понятно, это же
> константа????

А ты сам внимательно листинг смотрел?
[1234:1203h] Get_IP: Четко указан адрес 1203h что еще надо? Этож не
константа задаваемая при написании кода, она задается при прогоне
программы. Да и не константа это, а адрес в памяти.

   2005-08-18 07:29:36 (#419514)