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

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

За 2005-03-17

Re: Builder C

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

В письме mid:20050317174035.3348***@c*****.subscribe
Вы писали 17 марта 2005 г. в 11:14:00 [GMT +2:00]:

EtM> Привет программеры,

EtM> Такая вот проблема:
EtM> 1. Написал программу на Delphi - запускаю на другой машине (только ОС и
EtM> драйвера) => работает
EtM> 2. Написал программу на Builder C - запускаю там же, а она требует:
EtM> * borlndmm.dll
EtM> * cc3260.dll
EtM> * cc3260mt.dll
EtM> Даже простая консольная программа на чистом C (без всяких классов,
EtM> AnsiString и т.п.) весом в 9kb без cc3260.dll (1.34Mb) не работает

EtM> Есть ли решение этой проблемы, кроме создание инсталяшек своих
EtM> программ???

Есть :))
Сам на такие же грабли недавно наступил.
Заходишь в меню Project->Options
Выбираешь вкладку Linker и в ней снимаешь галки
Use dinamic RTL
Use debuger libraries
На счет второй не помню точно, но первая точна должна тебе помочь.
И убери галку Build with runtime packages на вкладке Packages.
Потом весь проект перебилдеваешь - команда Build в меню Project.

   Feniks 2005-03-17 18:52:04 (#334964)

Builder C

Привет программеры,

Такая вот проблема:
1. Написал программу на Delphi - запускаю на другой машине (только ОС и
драйвера) => работает
2. Написал программу на Builder C - запускаю там же, а она требует:
* borlndmm.dll
* cc3260.dll
* cc3260mt.dll
Даже простая консольная программа на чистом C (без всяких классов,
AnsiString и т.п.) весом в 9kb без cc3260.dll (1.34Mb) не работает

Есть ли решение этой проблемы, кроме создание инсталяшек своих
программ???

Афоризм напоследок: Нелегко обрести друга. Еще труднее потерять врага.
Winamp глаголит: Трофим - 08 Снегири
17 марта 2005 г. 12:09:03

Просто студент
Eugene mailto:rav***@o*****.ru

Номер выпуска : 4149
Возраст листа : 543 (дней)
Количество подписчиков : 526
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/334898
Получить правила : 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-03-17 17:40:35 (#334898)

Re[2]: Delphi координаты ярлыка

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

Вы писали 17 марта 2005 г., 14:44:22:

F> (Из рассылки посвященной программированию на Делфи) :

Это у меня есть, как узнать координаты нужного значка?

   2005-03-17 16:22:40 (#334830)

Re: Delphi координаты ярлыка

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

В письме mid:20050316200645.3341***@c*****.subscribe
Вы писали 16 марта 2005 г. в 18:53:21 [GMT +2:00]:

j> Как узнать координаты произвольного значка на рабочем столе?

(Из рассылки посвященной программированию на Делфи) :

Рабочий стол перекрыт сверху компонентом ListView.
Вам просто необходимо взять хэндл этого органа управления.
Пример:

function GetDesktopListViewHandle: THandle;
var
S: String;
begin
Result := FindWindow('ProgMan', nil);
Result := GetWindow(Result, GW_CHILD);
Result := GetWindow(Result, GW_CHILD);
SetLength(S, 40);
GetClassName(Result, PChar(S), 39);
if PChar(S) 'SysListView32' then
Result := 0;
end;

После того, как Вы взяли тот хэндл, Вы можете использовать API этого
ListView, определенный в модуле CommCtrl, для того, чтобы
манипулировать рабочим столом.
Смотрите тему "LVM_xxxx messages" в оперативной справке по Win32.

К примеру, следующая строка кода:

{Не забудьте в uses добавить CommCtrl}
ListView_SetItemPosition(GetDesktopListViewHandle,i,x,y);

ярлыку с индексом i, задаст координаты (x,y).
К примеру Мой компьютер имеет индекс 0, т.е i:=0;

А следующая строка кода:

SendMessage( GetDesktopListViewHandle, LVM_ALIGN, LVA_ALIGNLEFT, 0 );

разместит иконки рабочего стола по левой стороне рабочего стола Windows.

   Feniks 2005-03-17 13:44:17 (#334752)

Re[3]: Delphi чтение текста WINAPI

> Я тестирую прогу на Блокноте! И не работает!

Что ж ты сразу не сказал, что лезешь к дочерним окнам ДРУГОГО приложения!
Счас протестировал на Блокноте. WinXP Pro SP2 RUS.

WM_SETTEXT, WM_GETTEXTLENGTH, WM_GETTEXT.
Непосредственно Блокноту - всё работает. Но влияет на ЗАГОЛОВОК окна.
Если отыскать его дочернее окно, в котором собственно текст отображается
(если кто не знает, область редактирования в Блокноте - это обычный
стандартный многострочный Edit-control), и посылать сообщения ему, то тоже
всё работает. Текст появляется в области редактирования и читается оттуда.

SetWindowText(), GetWindowTextLength(), GetWindowText().
Непосредственно Блокноту - аналогично. Влияет на ЗАГОЛОВОК окна.
Дочернему окну - ни хрена не работает. Читаем MSDN: "GetWindowText не может
вернуть текст контрола ДРУГОГО приложения"; "GetWindowTextLength не может
вернуть длину текста edit-контрола ДРУГОГО приложения"; "SetWindowText не
может изменить текст контрола ДРУГОГО приложения".

Кстати, для работы с ...box-контролами имеются также специализированные
сообщения. Смотри по LB_xxx для listbox-ов, CB_xxx для combobox-ов.

--
С уважением, boroda
mailto:boroden***@s*****.ru

Номер выпуска : 4146
Возраст листа : 543 (дней)
Количество подписчиков : 526
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/334560
Получить правила : 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-03-17 09:03:58 (#334560)