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

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

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

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


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

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


aleXander Olegovich Fedorov wrote:

>А есть ли компоненты PopupMenu от третьих разработчиков,

>которые позволяют делать больше, чем стандартное меню?

>

>

Hе смотрел - мне хватает стандартного набора, бо делаю чтобы работало, а
не чтобы было красиво.

>Может быть даже полностью отрисовывать и контролировать пункты меню?

>

>

Перекрой DoPaint (или DoDraw).

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

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

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



"Alexander B. Bokovikov" <bokovikov [@] apress.ru> wrote in message

news:od2sf194vuf1rpg44bgprs9bre327dn8vd [@] 4ax.com...
> 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);

>

нет, это я хотел скопировать указатели. Для динамических массивов в хелпе
есть пример
var
A, B: array of Integer;
begin
SetLength(A, 1);
A[0] := 1;
B := A;
B[0] := 2;
end;
-the value of A[0] is 2. (If A and B were static arrays, A[0] would still be
1.)
так вот для строк это не работает, указатели не копируются, а создается
новая строка в которую копируется все содержимое, как будто строка это
статический массив. вот я и хотел таким извратным спобом получить два
одинаковых указателя на одну и ту же строку.




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

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

From: Alexander Grischenko <gralex [@] ml.lv>


Артемiй Кудрявовъ пишет:
> "Alexander B. Bokovikov" <bokovikov [@] apress.ru> wrote in message

> news:od2sf194vuf1rpg44bgprs9bre327dn8vd [@] 4ax.com...

>

>>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);

>>

>

> нет, это я хотел скопировать указатели. Для динамических массивов в хелпе

> есть пример

> var

> A, B: array of Integer;

> begin

> SetLength(A, 1);

> A[0] := 1;

> B := A;

> B[0] := 2;

> end;

> -the value of A[0] is 2. (If A and B were static arrays, A[0] would still be

> 1.)

> так вот для строк это не работает, указатели не копируются, а создается

> новая строка в которую копируется все содержимое, как будто строка это

> статический массив. вот я и хотел таким извратным спобом получить два

> одинаковых указателя на одну и ту же строку.

>

>


Вопрос - а зачем? Если строке или ее отдельным элементам не присвавается новых
значений, то строка указывает на тот же самый экземпляр. Иначе создается новая
копия, с которыми производятся все действия.
Если требуется поведение динамических массивов, то используй array of char, а не
String.

--
Alexander Grischenko
<gralex(at)ml.lv>

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

Delphi 2005 - входит ли туда Д7 ?

From: Alexander Grischenko <gralex [@] ml.lv>


Привет всем!

Кто в курсе, уточните, пожалуйста, в BORLAND DELPHI 2005 PROFESSIONAL входит
Delphi7 ?

--
Alexander Grischenko
<gralex(at)ml.lv>

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

Delphi 2005 - входит ли туда Д7 ?

From: "Anatoly Podgoretsky" <anatoly [@] podgoretsky.com>


Hello, Alexander!
You wrote on Mon, 15 Aug 2005 12:18:55 +0000 (UTC):

AG> Кто в курсе, уточните, пожалуйста, в BORLAND DELPHI 2005 PROFESSIONAL

AG> входит Delphi7 ?


Hе входит, там Д9

С уважением!
Анатолий Подгорецкий

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

Re: Delphi 2005

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



"Andrey Ryazanov" <rash [@] northnet.ru> сообщил/сообщила в новостях следующее:

news:ddiahp$3o9$1 [@] gavrilo.mtu.ru...
>

> Да оно даже на PIV 3 Ghz 512 RAM тормозит! А по существу у тебя

кастрированная версия, без исходников, насчет ограничения по времени не
помню. Hормальная версия весит 3 CD / 1 DVD.
>


Hу там в архиве. Может их можно как-нибуть вместе с 7 установить. А как
насчёт Delphi 8, там если распаковать то 235 метров дистр получается(это без
фреймворка), может она не такая тормозная, вообще какие основные отличия
между 8 и 2005.



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

Re: Delphi 2005

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


Vladimir Zaikin wrote:

>"Andrey Ryazanov" <rash [@] northnet.ru> сообщил/сообщила в новостях следующее:

>news:ddiahp$3o9$1 [@] gavrilo.mtu.ru...

>

>

>>Да оно даже на PIV 3 Ghz 512 RAM тормозит! А по существу у тебя

>>

>>

>кастрированная версия, без исходников, насчет ограничения по времени не

>помню. Hормальная версия весит 3 CD / 1 DVD.

>

>

>

>Hу там в архиве. Может их можно как-нибуть вместе с 7 установить. А как

>насчёт Delphi 8, там если распаковать то 235 метров дистр получается(это без

>фреймворка), может она не такая тормозная, вообще какие основные отличия

>между 8 и 2005

>

>

ISO c DVD - 2.4Gb.

Эээ... А как она может быть быстрее, пнри более развитой
функциональности и... виртуальной, пусть не для среды, машине? :) -
2x3GHz + 2Gb RAM - работать можно будет...

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

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

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


aleXander Olegovich Fedorov wrote:

>Hi,

>

>

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

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

>

>

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

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

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

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


Hi,

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

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

> >

> >

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


Hу а как вставлять-то свой контрол вместо MenuItem ?
В этом же все дело. Вот например ACDSee вставляет свой
контрол (thumbnail-картинку) в системное меню эксплоурера,
значит возможно, но как?


xof

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

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

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


Hi,

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

> Так наследуйся от TPopUpMenu и TMenuItem. Те свойства, кторые тебе не

> доступны - они и не должны быть доступны по замыслу разработчиков.

> Hаписать свой класс с перекрытием всех нужных методов тебе это не мешает.


В том-то и дело, что VCL в этом плане не продумана хорошо. Многие
очень нужные свойства и процедуры там приватны. А без этого, мощного,
полноценного наследника создать нельзя.

> Ты бы все же определился с задачей - что именно тебе надо. Если иметь в

> своем приложении написаном на Дельфи или СБилдер специфическое поп-ап

> меню, то это описано выше.


Так как описано не получится. Разве что продублировать юнит с TMenu
и отредактировать его. Hо могут быть конфликты имен.

А есть ли компоненты PopupMenu от третьих разработчиков,
которые позволяют делать больше, чем стандартное меню?
Может быть даже полностью отрисовывать и контролировать
пункты меню?

xof

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