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

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

За 2004-04-01

Re[5]: (CMyObject ) a = (CMyObject *) b

Здрсте!
Еще раз сорри!
А если использовать не приведение переменной к указателю, но считать
указатель сразу.
К сожалению не силен в С/С++ но в делфи предстовляю процесс так
var
a1:CMyClass;
a:pointer;
b:^CMyClass;
После обработки
P:=@a1;
a1.free;
b:=a;
алес
> Д>> приводим _a_ к указателю на ссылающемуся на область памяти объекта _а_
> Д>> удаляем _а_
> Д>> присвамиваем указателю _а_ содержимое _b_
> Д>> Ферштейн?

С уважением monah
e-mail : janal***@n*****.ru
сайт : http:\\janalex.narod.ru
--
Номер выпуска : 2754
Возраст листа : 192 (дней)
Количество подписчиков : 380
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/116570
Получить правила : 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

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-04-01 18:40:14 (#116570)

Re[3]: добавление пунктов в попап меню [Delphi6]

Hi!
> Нет, ты наверное меня не так понял. Мне нужно засунуть именно в
> _субменю_.
>

А разница?суб меню тот же тип!
тип TMenuItem . Items:TMenuItem; !
Методы:
MenuItem . Add(item:TMenuItem); Добавляет.
MenuItem . Insert(index: Integer; item:TMenuItem); Вставка подраздела item в
выпадаещее меню раздела в позицию index.

С примером лом возится, не так уж это сложно как кажется.
Что-то типа:
menu - обробатываемое меню.
menu.items[5].items[2].insert(4, NewMenu);
end;

С уважением monah
e-mail : janal***@n*****.ru
сайт : http:\\janalex.narod.ru
--
Номер выпуска : 2753
Возраст листа : 192 (дней)
Количество подписчиков : 380
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/116566
Получить правила : 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

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-04-01 18:39:33 (#116566)

Re[4]: (CMyObject ) a = (CMyObject *) b

БГ> Здравствуйте, Дедка.

БГ>>> Сформулируй вопрос
Д>> Есть статическая переменная
Д>> CMyObject a;
Д>> есть указатель
Д>> CMyObject *b = new CMyObject;

Д>> приводим _a_ к указателю на ссылающемуся на область памяти объекта _а_

Д>> удаляем _а_

Д>> присвамиваем указателю _а_ содержимое _b_

Д>> Ферштейн?

БГ> Не уверен.

БГ> может быть можно так:
БГ> a = *(b);
БГ> b = &a;

БГ> Т.е. останется переменная статическая, а не динамическая :)

БГ> Из всего сказанного Вами мне не понятно, как Вы себе представляете
БГ> приведение "_a_ к указателю на ссылающемуся на область памяти объекта
БГ> _а_"???
А я не представляю, потому и спрашивал.

БГ> Если я правильно все понимаю, подобная операция попытается привести
БГ> саму переменную _а_ к указателю ссылающемуся на область памяти объекта
БГ> _а_.
да, мне был интересно узнать, что такое невозмножно

БГ> Говоря проще, _а_ не есть переменная, а лишь имя области в памяти.
БГ> Это имя существует в момент компиляции в пространстве имен, но не в
БГ> коде, который получится.

БГ> Ферштейн?
О, я-я.


--
Дедка mailto:geg***@y*****.ru
На муки творчетства подвиг Винамп тем что даже и не запущен
Номер выпуска : 2752
Возраст листа : 192 (дней)
Количество подписчиков : 380
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/116480
Получить правила : 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

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-04-01 15:39:02 (#116480)

Re[3]: (CMyObject ) a = (CMyObject *) b

ЕА> 1. если нужно получить адрес области памяти, используешь "&a".
ЕА> 2. delete используется для удаления объектов, память для
ЕА> которых выделена new, само собой, передавать
ЕА> delete адрес "a" неверно
угу

Д>> А надо что бы мы обращаясь к a, на самом деле обращались к b
ЕА> Теперь попробую предположить, что ты хочешь. Если тебе нужно
ЕА> завести одну переменную, которая могла бы хранить адрес
ЕА> объектов, память для которых выделена динамически
ЕА> или статически, возможно такое решение.
ЕА> Заводишь в классе признак динамического выделения и делаешь
ЕА> специальную функцию для освобождения объекта, которая
ЕА> вызывает "delete this" для динамически
ЕА> выделенных объектов:
так конечно можно.. но я хотел не этого, а того что я хотел не бывает.

ЕА> Если я опять тебя не понял, извини. Попробуй
ЕА> выражать свои пожелания яснее.
Да вроде правильно...
Это просто я такой фантазер..
--
Дедка mailto:geg***@y*****.ru
На муки творчетства подвиг Винамп тем что даже и не запущен
Номер выпуска : 2751
Возраст листа : 192 (дней)
Количество подписчиков : 380
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/116479
Получить правила : 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

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-04-01 15:38:48 (#116479)

Re[2]: (CMyObject ) a = (CMyObject *) b

Y> А вобще это делается с помощью двух указателей. Зачем там статическая
Y> переменная?...
Потому что она уже давно так описана, и пол-проекта ее пользует.
Если б было все так просто, я бы и не жужжал. 8-)


--
Дедка mailto:geg***@y*****.ru
На муки творчетства подвиг Винамп тем что даже и не запущен
Номер выпуска : 2750
Возраст листа : 192 (дней)
Количество подписчиков : 380
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/116478
Получить правила : 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

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-04-01 15:38:32 (#116478)

Мистика atlimpl.cpp

трое нас программистов.
все поставили себе по VC6. С одного дистрибутива.
Кто как умел.
Один программист написал, программу, но она не компилится у остальных,
так как не может подключить h-файл.
Стали сравнивать.

файлы
"D:\Program Files\Microsoft Visual Studio\VC98\ATL\Include\atlimpl.cpp"
разные
у нас 4773
а у того 4683
если файл скопировать к нам, то все нормально. Все компилится.
Путем всяческих вариантов была установлена несколько раз с того же
дистрибутива VC6
С SP и без них.
Все перепробавано.
Но.
Файл не менялся.
Так на машинах стоит VC7 (скорее всего разная).
И еще куча всякого.
По здравому размышлению:
Никакая другая программа не должна менять ATL.
В общем-то не критично, но ... странно.
Может кто уже в эти грабли попадал?

--
Дедка mailto:geg***@y*****.ru
На муки творчетства подвиг Винамп тем что даже и не запущен
Номер выпуска : 2749
Возраст листа : 192 (дней)
Количество подписчиков : 380
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/116477
Получить правила : 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

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-04-01 15:38:20 (#116477)

Re[3]: (CMyObject ) a = (CMyObject *) b

IM> я так понял, что нужно удалить содержимое a (по сути вызвать
IM> деструктор) и создать новое содержимое на основе b. Т.е. копирование
IM> данных из одного обеъкта в другой. дальнейшее будет основываться
IM> на этой догадке :)
Нет, так придется делать, а хотелось просто привести _a_ к указателю,
как указатель ее удалить, а указатель указать на содержимое _b_
А потом опять привести ее к объекту CMyObject.
Я же сразу написал что изврат, зато красиво и просто.
Хотя кто-то и поспорит.

Ну посколько так делать нельзя... то придется так..

Д>>> А зато как бы было все замечательно.......
IM> В свете вышесказанного и так все шоколадно ;)
Нет, это не шоколадно.
Это горохно.


--
Дедка mailto:geg***@y*****.ru
На муки творчетства подвиг Винамп тем что даже и не запущен
Номер выпуска : 2748
Возраст листа : 192 (дней)
Количество подписчиков : 380
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/116476
Получить правила : 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

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-04-01 15:38:08 (#116476)

Re[2]: [OLE] [Excel] Установка формата ячейки

Hello Igor,

Wednesday, March 31, 2004, 6:59:16 PM, you wrote:

GI> я примерно такое делал недавно на перле,
GI> и чтобы число случайно не менялось в дату
GI> я и ставил нумбер форме - это ответ ко 2 пункту.

GI> не ставь General так как если не указываешь формат то там General и будет.
GI> а для дробного числа я использовал следующий формат:  ###0.00

Дык у меня NumberFormat ошибку и выдает:
хотя именно "###0.00" я не пробовал.

Что это за "###" впереди нулей?
Если смотреть макросы в VBA, то там никаких "###" нет

GI>   GI>   Почему

GI>   ?OLE{'Cells(' i ',' j+1 ').NumberFormat'} = '"@"'
GI>   ! это текстовый формат ячейки

GI>   работает, а
GI>  
GI>   ?OLE{'Cells(' i ',' j+1 ').NumberFormat'} = '"General"'
GI>   или
GI>   ?OLE{'Cells(' i ',' j+1 ').NumberFormat'} = '"0.00"'

GI>   выдает ошибку:
GI>  
GI>   OLE Automation Error
GI>   "Нельзя установить свойство NumberFormat класса Range"

   Ivan 2004-04-01 07:57:33 (#116169)

Re: добавление пунктов в попап меню [Delphi6]

Доброго времени суток всем!

Tuesday, March 30, 2004, 4:14:03 PM, you wrote:

k> Здравствуйте!
k> Проблема заключается в следующем: подскажите как добавлять пункты меню
k> в попап меню(но не в конец или начало, а в суюменю) по ходу выполнения программы,
k> то есть динамически.
k> Желательно кусочек кода.
k> Буду очень благодарен за помощь.

Структура такая
test
у него есть субменю
n1231
N122341

и код соотвенно

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus;

type
TForm1 = class(TForm)
PopupMenu1: TPopupMenu;
test: TMenuItem;
N1231: TMenuItem;
N122341: TMenuItem;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
test1:Tmenuitem;
begin
test1:=Tmenuitem.Create(test);
test1.Caption:='test1';
test.Add(test1);
end;

end.

добовляет в конец субменю test1.

   2004-04-01 02:09:08 (#116124)

Re[5]: Анимация в окне на WinApi

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

> >> >> Нужно: вывести анимацию в приемлемом качестве на окно.
> >> VVV> Проще всего узать окно класса ANIMATE_CLASS (оконный класс)
> >> А можно-ли как-нибудь отловить окончаение показа клипа,/...

> VVV> Окно аниматора шлет 2 командных сообщения (сообщения WM_COMMAND) :
> VVV> с кодом ACN_START, когда начинает проигрывать клип,
> VVV> с кодом ACN_STOP, когда заканчивает проигрывать клип.

> Тогда, как я понял, можно отловить сообщение таким образом:

> switch(iMsg)
> {
> case WM_COMMAND :
> switch(LOWORD(wParam))
> {
> case ID_ANIMATE :
> if (lParam==ACN_STOP)
> {
> /* обрабатываем ... */
> }
> }

> Но тогда не получится узнать хендл окна, в котором завершился клип :0(
> То есть, если открыто несколько окон анимации, то по очереди их
> закрыть не удастся :0((

Гм... вроде, узнать дескриптор окна элемента управления, пославшего
командное сообщение - достаточно просто. В коде выше - небольшая ошибочка.
Следовало бы писать :

if (HIWORD(wParam)==ACN_STOP)
{
/* обрабатываем ... */
}

А в lParam - как раз и лежит дескриптор окна контрола (или NULL для случаев
меню или клавиатурных акселераторов, например).
То есть в общем случае (для WM_COMMAND):

UINT nID = LOWORD(wParam);
int nCode = HIWORD(wParam);
HWND hWndCtrl = (HWND)lParam;

--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru
Номер выпуска : 2745
Возраст листа : 192 (дней)
Количество подписчиков : 382
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/116113
Получить правила : 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

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-04-01 01:24:11 (#116113)