Современные решения

для защиты Windows приложений

и восстановления исходного кода

Обсуждение программирования на Delphi в конференции ru.delphi


Re: Стоимость пpогpаммы

From: "Alexander B. Bokovikov" <bokovikov [@] apress.ru>


On Thu, 11 Aug 2005 18:58:40 +0400, Georgii Kostin
<Georgii.Kostin [@] p30.f76.n5054.z2.fidonet.org> wrote:


>С yдовольствием послал бы. Только жаль потpаченного вpемени..


Hу тогда по идее надо см. п. 2

> AB> 2) самостоятельно пpоанализиpовать pынок и оценить пеpспективy.


>А зачем ? Дневники ведь y школьников никто не отменял.


Во-первых я не понял, зачем ты делал программу, для которой лично ты
не видишь смысла? Тем более предполагалось, что ее будут
распространять. Тогда тем более надо было изначально расставить все
точки над и.

По поводу дневников - это так, но по идее автоматизированная система
должна быть более оперативней. У нас в школе (где мои дети учатся) в
дневник оценки выставляются практически только два раза за четверть
сразу по многу (все, что накопилось). Согласись, что пороть сразу за
несколько двоек менее сподручно :)
Хотя введение в нашей школе (коя есессно называется высоким словом
Гимназия) твоей системы - это что-то из области снов :)

Короче - не понял я, чего ты в это ввязался. Это что, первый опыт?

Александр Боковиков
E-mail: bokovikov(a)mail.ru (дом.) abokovikov(a)apress.ru (раб.)
www.apress.ru/pages/bokovikov/delphi
* Origin: Demos online service (2:5020/400)

Re: Расшиpенная обpаботка исключений

From: Демид Тузенко <demid [@] pstu.edu>



"Vlad Filippov" <Vlad.Filippov [@] p27.f158.n5055.z2.fidonet.org> wrote in message

news:1123618073 [@] p27.f158.n5055.z2.ftn...
> EV> =========Beginning of the citation==============

> EV> Пpинудительная инициация исключения.

>

> EV> Класс исключения: Exception

> EV> Адpес исключения: 009C60DE

> EV> -----------------------------------------------------------------

> EV> ----------------------------------- Стэк лист, создан 08.08.2005 11:26:31

> EV> [009C60D9] MainUnit.TFSLVMain.BBErrRaiseClick (Line 2031, "MainUnit.pas"

>

> <...>

>

> А может в печь ее (с) пока не поздно?!

> Мы и сами библиотеку Джедаев вместо RXLib, бывает, используем,

> но это пpосто антиpеклама какая-то... :-(


А почему антиреклама, собственно? Вроде показывает всё, что меня интересует. Другое дело,
что как-то непонятно, что эти плюсы и доллары обозначают, и почитать негде - документация
к проекту никакая, а в инете копаться некогда.

--
<<Hope this helps>>


with regards
Demid Tuzenko

* Origin: Demos online service (2:5020/400)

Строки и массивы

From: "Артемiй Кудрявовъ" <kudryavov [@] krista.ru>



Интересует вопрос, чем принципиально строки отличаются от динамических
массивов.
Где вообще можно подробно прочитать про работу со строками, в Delphi Help
описана работа с массивами
но совершенно не описана работа со строками
You can assign the value of a string constant-or any other expression that
returns a string-to a variable.
The length of the string changes dynamically when the assignment is made.

например следующий код выдает результаты:
'adbcxyzefg'
'adbcxyzefg'
'T'
Access violation at 0x00407bad write of address 0x00030c5c

почему операция над массивом cast as string прокатывает а наоборот случается
облом?

var d: string;
e: array of char;
begin
SetLength(e, 4);
// pointer(d) = $1182900
pointer(d) := e;
e[0] := 'a';
e[1] := 'b';
e[2] := 'c';
e[3] := 'd';
String(e) := String(e) + 'xyz';
// здесь pointer(d) остается прежним
d := d + 'efg';
ShowMessage(d);
ShowMessage(String(e));
SetLength(e, 0);
ShowMessage(d);
//а вот здесь здесь pointer(d) сначала устанавливается в nil
// а затем устанавливается в $11838CC
d := d + 'efg';
ShowMessage(d);
end;


* Origin: Krista RPA (2:5020/400)

Delphi 2005

From: "Vladimir Zaikin" <baza [@] atknet.ru>


Достался мне тут левый диск с Delphi 2005, сейчас на 7 сижу, вот только меня
смущает надпись Delphi 2005 Architect Trail(или Trial, не помню точно диск
щас не у меня) Edition. Кто-нибудь встречался с таким названием? А если это
действительно триал версия, то какие в ней ограничения и есть ли они, просто
стрёмно как-то ставить что-то ущербное:) И ещё, как она по скорости работы,
есть ли смысл её на Celeron 800 с 128 мегабайтами памяти кидать!


* Origin: Internet-Arkhangelsk Company (2:5020/400)

Re: Delphi 2005

From: "Andrey Ryazanov" <rash [@] northnet.ru>


"Vladimir Zaikin" <baza [@] atknet.ru> wrote in message news:newscache$k044li$szh$1 [@] news.atknet.ru...

> Достался мне тут левый диск с Delphi 2005, сейчас на 7 сижу, вот только меня

> смущает надпись Delphi 2005 Architect Trail(или Trial, не помню точно диск

> щас не у меня) Edition. Кто-нибудь встречался с таким названием? А если это

> действительно триал версия, то какие в ней ограничения и есть ли они, просто

> стрёмно как-то ставить что-то ущербное:) И ещё, как она по скорости работы,

> есть ли смысл её на Celeron 800 с 128 мегабайтами памяти кидать!


Да оно даже на PIV 3 Ghz 512 RAM тормозит! А по существу у тебя кастрированная версия, без исходников, насчет ограничения по времени не помню. Hормальная версия весит 3 CD / 1 DVD.

* Origin: MTU-Intel ISP (2:5020/400)

Menu - Вставить контрол в меню

From: "aleXander Olegovich Fedorov" <xof [@] email.su>


Hi,


Hеобычная задача: нужно вставить в Pop-up меню свой контрол.
Для начала несколько кнопок в ряд. Как это сделать?


xof

* Origin: Demos online service (2:5020/400)

Re: Menu - Вставить контрол в меню

From: Andrey Belyakov <andrejb [@] netmail.lv>


aleXander Olegovich Fedorov wrote:

>Hi,

>

>

>

>>>Hеобычная задача: нужно вставить в Pop-up меню свой контрол.

>>>Для начала несколько кнопок в ряд. Как это сделать?

>>>

>>Посмотреть есть ли TCustomPopUpMenu и унаследоваться от него?..

>>

>>

>

>Hу а как вставлять-то свой контрол вместо MenuItem ?

>

>

Абсолютно так же - унаследовавшись от T(Custom)PopUpMenuItem.

>В этом же все дело. Вот например ACDSee вставляет свой

>контрол (thumbnail-картинку) в системное меню эксплоурера,

>значит возможно, но как?

>

>

Вставки в системные меню - прописываются где-то в реестре. Где именно -
не смотрел, не требовалось.

А.
* Origin: Demos online service (2:5020/400)

Re: Строки и массивы

From: "Alexander B. Bokovikov" <bokovikov [@] apress.ru>


On Fri, 12 Aug 2005 09:35:15 +0000 (UTC), "Артемiй Кудрявовъ"
<kudryavov [@] krista.ru> wrote:


>var d: string;

> e: array of char;

>begin

> SetLength(e, 4);

> // pointer(d) = $1182900

> pointer(d) := e;


Что еще за pointer такой? С каких таких?
Что ты хотел совершить этой операцией?
Скопировать e в d? Тогда надо было
SetLength(d, 4);
Move(e[0], d[1], 4);


> e[0] := 'a';

> e[1] := 'b';

> e[2] := 'c';

> e[3] := 'd';

> String(e) := String(e) + 'xyz';

> // здесь pointer(d) остается прежним


А с чего бы это ему меняться-то?

> //а вот здесь здесь pointer(d) сначала устанавливается в nil

> // а затем устанавливается в $11838CC

> d := d + 'efg';

> ShowMessage(d);


Дык ты раньше его в хрен знает что превратил, а хочешь что-то от него
поиметь.

В принципе строка - тот-же дин. массив, только индекс с 1.
И никаких пойнтеров! Это тебе не PChar!

Хотя компилятор и допускает прямой кастинг

var p : PChar;
s : string;

s := '1111';
p := PChar(s);

И даже нуля к s добавлять не надо.

Александр Боковиков
E-mail: bokovikov(a)mail.ru (дом.) abokovikov(a)apress.ru (раб.)
www.apress.ru/pages/bokovikov/delphi
* Origin: Demos online service (2:5020/400)

Re: Menu - Вставить контрол в меню

From: "aleXander Olegovich Fedorov" <xof [@] email.su>


Hi,

> >>>Hеобычная задача: нужно вставить в Pop-up меню свой контрол.

> >>>Для начала несколько кнопок в ряд. Как это сделать?

> >>Посмотреть есть ли TCustomPopUpMenu и унаследоваться от него?..

> >Hу а как вставлять-то свой контрол вместо MenuItem ?

> Абсолютно так же - унаследовавшись от T(Custom)PopUpMenuItem.


Се это теоретически хорошо было бы , если бы не одно обстоятельство:
нету ни TCustomPopUpMenu (сразу TMenu->TPopUpMenu) и нету

T(Custom)PopUpMenuItem (а сразу TComponent->TMenuItem)

И кажется некоторые свойства и методы наследникам объектов
TMenu и TMenuItem будут недоступны из-за приватности.

Есть ли способ без VCL-наследования? Через API нельзя? Или как еще?


xof



* Origin: Demos online service (2:5020/400)

Re: Menu - Вставить контрол в меню

From: Andrey Belyakov <andrejb [@] netmail.lv>


aleXander Olegovich Fedorov wrote:

>Hi,

>

>

>

>>>>>Hеобычная задача: нужно вставить в Pop-up меню свой контрол.

>>>>>Для начала несколько кнопок в ряд. Как это сделать?

>>>>>

>>>>>

>>>>Посмотреть есть ли TCustomPopUpMenu и унаследоваться от него?..

>>>>

>>>>

>>>Hу а как вставлять-то свой контрол вместо MenuItem ?

>>>

>>>

>>Абсолютно так же - унаследовавшись от T(Custom)PopUpMenuItem.

>>

>>

>

>Се это теоретически хорошо было бы , если бы не одно обстоятельство:

>нету ни TCustomPopUpMenu (сразу TMenu->TPopUpMenu) и нету

>T(Custom)PopUpMenuItem (а сразу TComponent->TMenuItem)

>И кажется некоторые свойства и методы наследникам объектов

>TMenu и TMenuItem будут недоступны из-за приватности.

>

>Есть ли способ без VCL-наследования? Через API нельзя? Или как еще?

>

>

Так наследуйся от TPopUpMenu и TMenuItem. Те свойства, кторые тебе не
доступны - они и не должны быть доступны по замыслу разработчиков.
Hаписать свой класс с перекрытием всех нужных методов тебе это не мешает.

Ты бы все же определился с задачей - что именно тебе надо. Если иметь в
своем приложении написаном на Дельфи или СБилдер специфическое поп-ап
меню, то это описано выше. Если же тебе нужна специфическая вставка в
систему, то тут нужно рыться в МСДH и икать как это реализовывается -
какие интерфейсы должны реализоваваться и что и куда прописываться.

А.
* Origin: Demos online service (2:5020/400)