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

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 788
от 22.04.2007, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 465, Экспертов: 98
В номере:Вопросов: 9, Ответов: 23


Вопрос № 82866: Как определить сколько Мб на видеокарте?...
Вопрос № 82882: будьте добры рассудите эту задачку. нужно подсчитать след матрицы. кто неуверен в точности понимания этого математического понятия обьясю самим заданием. Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Най...
Вопрос № 82900: Уважаемые эксперты! Подскажите, как сделать чтобы процедура выполнялась в фоне, т.е. по нажатию на кнопку отправляется почта и пока почта не отправится я с формой (и на форме) ничего не могу изменить, как исправит эту проблему?...
Вопрос № 82927: Доброго времени суток! код с проблемой в приложении. если DateAction ставить сегодняшним или датой раньше то все нормально работает. Если ставлю дату завтрашней и время, допустим 10:00:00, то срабатывает по дате правильно а по времени в 1:00...
Вопрос № 82960: Доброе время суток. Подскажите пожалуйсто, как с помощью компонента TImage сделать некю кнопку. Т.е. хочу сделать чтобы при наведении мыши на кнопку картинка в компоненте менялась на другую, при уходе мыши с компонента картинка опять востанавливалась...
Вопрос № 82961: Здраствуйте уважаемые эксперты. Меня интересует несколько вопросов. 1) Как можно передовать параметры фрейму. 2) У меня есть небольшая програмка в ней всего 1 форма и 2 фрейма. На Форме я создаю программно фрейм(CurrentFrame). При показе фор...
Вопрос № 82988: Уважаемые! Подскажите как сделать Бутоны как Виндовс (т.е. округлыми), а не прямоугольными как в Делфи, без использования картинок, спидбутон и др. заморочек. ...
Вопрос № 82989: Добрый день! Скажите возможно это или нет, оПисание ниже? Программа открывает Интернет, определенный сайт. Можно это делать как в отдельной форме программы, так и открывать IE. Открывается страница, на этой старницы есть формы для заполне...
Вопрос № 83010: Здравствуйте, Эксперты. Помогите чем сможете. Пишу свой дисп. задач. ListBox обновляется по таймеру. 1) Задача: как при каждом обновлении сохранять выделение элемента. Как сие реализовать. 2) будет ли эта программа работать в Win 9X. Времена...

Вопрос № 82.866
Как определить сколько Мб на видеокарте?
Отправлен: 16.04.2007, 22:43
Вопрос задал: AndrewSOOF (статус: 2-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: PGM
Здравствуйте, AndrewSOOF!

Я пользуюсь таким методом - инициализировать DirectDraw и спросить у него GetCaps, там в структуре TDDCaps есть dwVidMemTotal. Есть еще и сколько свободной - dwVidMemFree и много другой интересной информации.
Ответ отправил: PGM (статус: 5-ый класс)
Ответ отправлен: 17.04.2007, 00:26
Оценка за ответ: 3
Комментарий оценки:
Не совсем понятно как инициализировать DirectDraw

Отвечает: Gh0stik
Здравствуйте, AndrewSOOF!

Вот привожу Вам кусок кода который показывает объем видео карты, а также количество свободного пространства в текущий момент:

var DDC,DDH:TDDCaps;
pDirDraw: IDirectDraw;
HR : HResult;
begin
pDirDraw := nil;
DDC.dwSize := sizeof(TDDCaps);
DDH.dwSize := sizeof(TDDCaps);

HR := DirectDrawCreate(nil, pDirDraw, nil);
if(HR <> DD_OK) then ShowMessage('ERROR');

HR := pDirDraw.GetCaps(@DDC, @DDH);
if(HR <> DD_OK) then ShowMessage('ERROR');
ShowMessage(Format('Total=%d',[DDC.dwVidMemTotal])+#13+Format('Free=%d',[DDC.dwVidMemFree ]));
end;

Данный код возвращает объем видеопамяти в байтах, поэтому чтобы получить размер в килобайтах результат нужно разделить на 210, а для мегабайт на 220.

Также пусть Вас не смущает то что результат будет немного меньше чем тот который показывается в диспетчере устройств, поскольку из справки по данной структуре видим:
dwVidMemTotal
Total amount of display memory on the device, in bytes, minus the memory reserved for the primary surface and any private data structures reserved by the driver.
(This value is the same as the total video memory reported by the IDirectDraw::GetAvailableVidMem method.)


Т.е. определенный размер зарезервирован под драйвер.

Да и также не забудьте подключить модули: uses DXTypes, DirectDraw;
Для того чтобы модули работали нормально нужно также подключить заголовочные файлы DirectX, найти их можно в сети (если не найдете обращайтесь вышлю), а подключаются они путем выполнения таких действий: меню Tools\Environment Options\Library\Library path\ кнопка(...)\прописать путь и нажать Add.

Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 18.04.2007, 23:38


Вопрос № 82.882
будьте добры рассудите эту задачку. нужно подсчитать след матрицы. кто неуверен в точности понимания этого математического понятия обьясю самим заданием. Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Найти след матрицы, суммируя элементы одномерного массива. Матрицу ввести с клавиатуры.
я пытался сделать то что нужно в задании но не получается. просто недодумал

procedure TForm1.Button1Click(Sender: TObject);
var
i,j: integer;
sl: integer;
begin
// это 1 диагональ
for i:=0 to stringGrid1.ColCount do
for i:=0 to stringGrid1.RowCount do
sl:=sl+ stringGrid1.Cells[i,j];
//вторую я не придумал +) первая еще не работает даже
end;
end;

будьте добры подскажите как это можно реализовать
Отправлен: 17.04.2007, 01:23
Вопрос задал: 12rus (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Gh0stik
Здравствуйте, 12rus!

Во-первых если Вы начинаете с нуля то необходимо на один меньше ставить и вторую границу. Далее Вы не проверяете что элементы стоят на диагонали. Смотрите исправления.

procedure TForm1.Button1Click(Sender: TObject);
var
i,j: integer;
sl: integer;
begin
sl:=0;
for i:=0 to stringGrid1.ColCount-1 do
for j:=0 to stringGrid1.RowCount-1 do
sl:=sl+ stringGrid1.Cells[i,j];
if i=j then sl:=sl+ stringGrid1.Cells[i,j];
end;
end;

{а вот ввод с клавиатуры можно организовать примерно так}
const n=3;
var a:array [1..n,1..n] of integer;
........
procedure TForm1.Button3Click(Sender: TObject);
var i,j: integer;
begin
for i:=0 to n-1 do
for j:=0 to n-1 do
a[i,j]:=strtoint(InputBox('Input array', format('A[%d%d]',[i,j]),''));
end;

Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 17.04.2007, 01:42


Вопрос № 82.900
Уважаемые эксперты! Подскажите, как сделать чтобы процедура выполнялась в фоне, т.е. по нажатию на кнопку отправляется почта и пока почта не отправится я с формой (и на форме) ничего не могу изменить, как исправит эту проблему?
Отправлен: 17.04.2007, 07:58
Вопрос задал: Bee.line (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PGM
Здравствуйте, Bee.line!
Вот пара способов:

1. Использовать ожидание в цикле по флагу и Application.ProcessMessages, например так (пример из кода, который как раз почту отправляет)

FSending := True;
FError := False;
while FSending and not FError do begin
Application.ProcessMessages;
Sleep(1000);
end;

FSending снимается при отсылке, FError ставится в обработке ошибок сокета или при нажатии на кнопку "Прервать" (чтобы не застрять в цикле навсегда :))

2. Использовать потоки и ожидание события завершения потока - по похожей схеме, только с WaitForSingleObject вместо флага отсылки

Приложение:

Ответ отправил: PGM (статус: 5-ый класс)
Ответ отправлен: 17.04.2007, 10:35
Оценка за ответ: 2
Комментарий оценки:
Ответ 1. Бесмысленен, так как он опять таки будет ждать пока почта (физически) отправится и следовательно прога будет подвисать


Вопрос № 82.927
Доброго времени суток!
код с проблемой в приложении.
если DateAction ставить сегодняшним или датой раньше то все нормально работает. Если ставлю дату завтрашней и время, допустим 10:00:00, то срабатывает по дате правильно а по времени в 1:00:00.
проверка идет по таймеру каждую секунду.

Приложение:

Отправлен: 17.04.2007, 11:26
Вопрос задал: Dush (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Dush!
Как уже было сказано, делаете вы сравнение достаточно криво.
Однако, иногда такое может быть нужно. Например, я делал на базе TStringList класс "расписание", записывая время в самое начало строки. Использовать готовое сравнение строк и готовую сортировку TStringList проще, чем писать что-то свое. Впрочем, такие трюки эффективны, когда вы уже хорошо знаете как работают стандартные функции, как сравниваются строки и уже не задаете подобные вопросы.
Теперь по сути.
Надо использовать преобразование даты к типу с определенным типом форматировнания. Как это сделать, можно почитать тут.
И хотя в статье написано, что значение по умлочанию для LongTimeFormat = 'hh:mm:ss';. Это чушь. Хотя бы потому, что буква 'm' предназначена для месяцев, а 'n' — для минут. Так вот, вам надо сделать следующее:
ShortTimeFormat := 'hh:nn';
LongTimeFormat := 'hh:nn:ss';
Остальные детали использования этой функции можете прочесть в статье. там не все чушь ;-)
---------
Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 17.04.2007, 12:20


Вопрос № 82.960
Доброе время суток. Подскажите пожалуйсто, как с помощью компонента TImage сделать некю кнопку. Т.е. хочу сделать чтобы при наведении мыши на кнопку картинка в компоненте менялась на другую, при уходе мыши с компонента картинка опять востанавливалась, и чтобы картинки были в TImageList
Спасибо.
Отправлен: 17.04.2007, 14:58
Вопрос задал: Глеб (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gladiator
Здравствуйте, Глеб!
Додумаешь указаный ниже код под свою задачу:
Огромный исходник перенесён в приложение.
(Ерёмин А.)

Приложение:

Ответ отправил: Gladiator (статус: 9-ый класс)
Ответ отправлен: 17.04.2007, 15:40

Отвечает: Dragon
Здравствуйте, Глеб!
Можно, например, так:

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image1.Picture.LoadFromFile('C:end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
image1.Picture.LoadFromFile('C:end;
Ответ отправил: Dragon (статус: 1-ый класс)
Ответ отправлен: 17.04.2007, 15:41

Отвечает: PGM
Здравствуйте, Глеб!

У TImage есть событие OnMouseMove, его и надо отлавливать и делать нужную картинку (и ставить флаг какая из картинок сейчас, чтобы не делать лишнюю работу и ничего не мигало). Не забывайте Image.Invalidate.

OnMouseDown/OnMouseUp позволят работать как кнопка.

Из TImageList получать картинку можно с помощью ImageList.GetBitmap(Index, ABmp), где ABmp - временный битмап или Image.Picture.Bitmap, если он инициализирован (есть картинка или установлены размеры).
Ответ отправил: PGM (статус: 5-ый класс)
Ответ отправлен: 17.04.2007, 16:09

Отвечает: Werewolf
Здравствуйте, Глеб!
Если у вас Delphi 6-7:

прийдется переопределять WndProc главной формы
для перехвата сообщений входа и выхода курсора в пределы Image

Если более новая версия:
см. Приложение.
на главной форме
ImageList1: TImageList;
Panel1: TPanel;
на панели Image1: TImage;
Панель используется для эмуляции втапливания кнопки при нажатой кнопке мыши.
ImageList1 содержит 4 картинки 16*16
Image1.Height и Image1.Width=16;
Panel1.Autosize=true

Удачи.

Приложение:

Ответ отправил: Werewolf (статус: Студент)
Ответ отправлен: 17.04.2007, 16:30


Вопрос № 82.961
Здраствуйте уважаемые эксперты. Меня интересует несколько вопросов.
1) Как можно передовать параметры фрейму.
2) У меня есть небольшая програмка в ней всего 1 форма и 2 фрейма. На Форме я создаю программно фрейм(CurrentFrame). При показе формы я включаю 1 фрейм смотреть приложение. Мне необходимо при нажати на 1 фрейме кнопки закрыть его нормально и показать 2 фрейм

Приложение:

Отправлен: 17.04.2007, 14:58
Вопрос задал: CoolBick (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лукьяненко Алексей Валериевич
Здравствуйте, CoolBick!

2. Вам нужно указать родительское окно для нового фрейма (окно, на котором будет отображаться фрейм), а также желательно указать владельца (того, кто удалит фрейм при завершении приложения, если Вы этого не сделаете явно):

if Assigned(CurrentFrame) then FreeandNil(CurrentFrame)
CurrentFrame :=TFrame2.Create(Self);
CurrentFrame.Parent := Self; // Устанавливаем родительское окно

1. Смотря как Вам нужно передать параметры... Можно перекрыть (или объявить свой) конструктор и передавать ему нужные парметры, а можно создать фрейм и настроить его свойства
Ответ отправил: Лукьяненко Алексей Валериевич (статус: 8-ой класс)
Ответ отправлен: 17.04.2007, 15:16
Оценка за ответ: 3

Отвечает: Химяк Виктор Васильевич
Здравствуйте, CoolBick!
У меня есть прекрасная статья по роботе с фреймами, изучив ее, я сам активно применяю фреймы. Статья в Word, могу скинуть.
Выдержка в приложении, но без полного текста возможно будет трудно понять.Сама статья:
Применение фреймов для написания “правильных” приложений
Автор: Жук Андрей

Приложение:

Ответ отправил: Химяк Виктор Васильевич (статус: 4-ый класс)
Ответ отправлен: 17.04.2007, 19:52
Оценка за ответ: 5
Комментарий оценки:
Спасиб большое очень хороший материал! Если есть что-то еще на счет фреймов пиши на Madmouse@list.ru


Вопрос № 82.988
Уважаемые! Подскажите как сделать Бутоны как Виндовс (т.е. округлыми), а не прямоугольными как в Делфи, без использования картинок, спидбутон и др. заморочек.
Отправлен: 17.04.2007, 17:17
Вопрос задал: Bee.line (статус: Посетитель)
Всего ответов: 6
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Jakoni
Здравствуйте, Bee.line!
Используйте XPManifest со вкладки Win32 я использую Delphi 7 , там есть данный компанент, он изменяет вид всех контролов под стиль XP. Но есть одна загвоздка работать будет только под XP , если запускать под меньшими версиями Windows контролы будут стандартной формы
Ответ отправил: Jakoni (статус: 1-ый класс)
Ответ отправлен: 17.04.2007, 17:27

Отвечает: Лукьяненко Алексей Валериевич
Здравствуйте, Bee.line!

Судя по всему, вы хотите сделать кнопки в стиле XP под Windows XP.
Если так, то
если у Вас Delphi 7 и выше, то поместите на форму компонент TXPManifest (страница Win32 палитры компонентов)
Если у Вас Delphi до версии 7, то Вы можете скопировать один из файлов *.manifest из каталога Windows и переименовав его в имя_вашего_проекта.manifest положить его в каталог с .exe файлом Вашего проекта
Ответ отправил: Лукьяненко Алексей Валериевич (статус: 8-ой класс)
Ответ отправлен: 17.04.2007, 17:28

Отвечает: Ерёмин Андрей
Здравствуйте, Bee.line!
В дополнение: есть компонент XPMan, который можно установить в более ранние версии Delphi, чем 7, и там так же просто подключить XP-стиль. Скачать можно здесь ».
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на Delphi. Помощь, советы, обмен опытом.
ICQ: 286867644
----
Ответ отправлен: 17.04.2007, 17:51

Отвечает: W@NDeReR
Здравствуйте, Bee.line!
Могу предложить два способа:
1. В Delphi 7 на вкладке Win32 есть компанент XPManifest поместите его на форму и все на ней будет в стиле XP
2. Найти в директории с Виндовс файл с расширение *.Manifest ( например WindowsShell.Manifest) скопировать его в папку с программой и назвать её также как и исполняемый файл (например programma.exe.manifest) результат аналогичен пункту 1
---------
Опыт — дитя мысли, а мысль — дитя действия. Нельзя учиться по книгам.
Ответ отправил: W@NDeReR (статус: 3-ий класс)
Ответ отправлен: 17.04.2007, 17:52

Отвечает: Павлов Сергей Сергеевич
Здравствуйте, Bee.line!
Если у вас Delphi 7 то на вкладке Win32 есть компонент
XPManifest......поставте его на форму и все
Ответ отправил: Павлов Сергей Сергеевич (статус: 1-ый класс)
Ответ отправлен: 17.04.2007, 21:58

Отвечает: василий1
Здравствуйте, Bee.line!
используйте компонент xpmanifest(закладка win32)
только на компьютере должна быть установлена тема ХР а не вин2к
Ответ отправил: василий1 (статус: 3-ий класс)
Ответ отправлен: 18.04.2007, 03:43


Вопрос № 82.989
Добрый день!
Скажите возможно это или нет, оПисание ниже?
Программа открывает Интернет, определенный сайт. Можно это делать как в отдельной форме программы, так и открывать IE.
Открывается страница, на этой старницы есть формы для заполнения данных, надо в определенные окошки внести инфрмацию.
Скажите возможно это сделать и самое главное как это сделать.
Заранее спасибо, всем кто откликнеться.
Отправлен: 17.04.2007, 17:23
Вопрос задал: AllexZ (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Bingo
Здравствуйте, AllexZ!
Все, что Вы описали, сделать вполне реально.
1. Чтобы открыть страницу в IE, разместите, к примеру, label1, в разделе uses напишите shellapi, а Label1.Caption будет равна ссылке к Вашему сайту. При щелчке вот что произойдет:
---
procedure TForm2.Label1Click(Sender: TObject);
begin
shellexecute(application.Handle,'open',pchar(label1.caption),nil,nil,1);
end;
---
2. Если хотите открыть страницу в своей прграмме, то Вам придется использовать TWebbrowser на вкладке Internet (или Fastnet). Разместите его на форме и при щелчке по Label1 вот что произойдет:
----
procedure TForm2.Label1Click(Sender: TObject);
begin
webbrowser1.Navigate(label1.Caption,0);
end;
----
Если у Вас Delphi7 и ниже, то есть хороший пример своего браузера в папке Delphi7/ Demos/CoolStuff.
3. Если Вам необходима помощь для создания своей страницы, попробуйте задать вопрос в другую рассылку (Языки программированияHTML).
Удачи!
---------
C темным пивом в светлое будущее!
Ответ отправил: Bingo (статус: 4-ый класс)
Ответ отправлен: 17.04.2007, 21:02
Оценка за ответ: 5
Комментарий оценки:
Да это все понятно. Но Остается под вопросом вторая часть вопроса, внесение информации в определенные поля ввода.
Спасибо за примеры как открывать интернет.

Отвечает: василий1
Здравствуйте, AllexZ!
не претендую на оригинальность, но когда то делал себе подключалку к интернету
исходников не нашел
смысл был примерно такой
создавал ярлык для подключения и запускал его из программы(зачем - были какие то проблемы с запуском приложения напрямую)
потом находил запущенное приложение по заголовку окна('Подключение DSL' - например. в вашем случае IE)
там было определенное колво полей в них я передавал нажатия клавиатуры
('1234' TAB 'asfdewfwe' TAB 'jkjljl' ENTER)
ну и собственно таймеры понадобятся
возможно сделать можно гораздо проще и компактнее(просьба не пинать))
Ответ отправил: василий1 (статус: 3-ий класс)
Ответ отправлен: 18.04.2007, 03:56
Оценка за ответ: 5
Комментарий оценки:
Оригенальный ответ. Один из крайних случаев, я бы сказа. Но вот интереснее как именно обратиться к каждому полю вводу, ведь каждое поле ввода имеет свое имя.

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, AllexZ!
Почитайте статьи на DelphiWorld
В частности про сети (про Бразуер там же):
Вот ссылик на 2 конкретные статьи оттуда:
Автоматическое заполнение HTML-форм в браузере
Автоматическое заполнение web-форм в запущенном IE
---------
Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 18.04.2007, 16:32
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо за ссылки и примеры. Почитаем, попробуем


Вопрос № 83.010
Здравствуйте, Эксперты. Помогите чем сможете. Пишу свой дисп. задач. ListBox обновляется по таймеру.
1) Задача: как при каждом обновлении сохранять выделение элемента. Как сие реализовать.
2) будет ли эта программа работать в Win 9X. Временами есть необходимость
Отправлен: 17.04.2007, 20:05
Вопрос задал: Beginner (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, Beginner!
1) В том же событии OnTimer() объявляем локальную переменную: var i: integer; и затем добавляем в код события следующее:
- перед обновлением: i:=ListBox1.ItemIndex;
- после обновления: ListBox1.ItemIndex:=i;
Вот и всё - выделенная строка останется выделенной и после обновления.
2) Конечно будет, а почему же и нет? Проблемы могут возникнуть только в случае, если вы задействуете дополнительные библиотеки, которых на Win9x нет.
Удачи!
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на Delphi. Помощь, советы, обмен опытом.
ICQ: 286867644
----
Ответ отправлен: 17.04.2007, 20:15

Отвечает: Gh0stik
Здравствуйте, Beginner!

1) Вам достаточно во внешней процедуре, допустим по нажатию на ListBox сохранить положение выделенной строки в переменную, например:
var iv:integer;
ListBox1.ItemIndex:=iv;

А в самом таймере после обновления просто добавить такую строку: ListBox1.Selected[iv]:=true;

2) Если Вы не используете библиотеки и ресурсы которые специфичны для текущей ОС, то проблем не будет. В противном случае Ваш проект будет не работоспособен, но при запуске приложения может появиться ошибка с причиной ее возникновения и после анализа этой ошибки вполне возможно ее локализовать иногда вполне достаточно вместе с проектом переносить недостающую динамическую библиотеку (dll).

Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 17.04.2007, 20:21

Отвечает: PGM
Здравствуйте, Beginner!

Добавление к ответам на первый вопрос: вероятнее всего вам нужно сохранить выделение того же процесса, а не элемента по индексу, как предлагают в ответах (некоторые процессы ведь могут и исчезнуть, и индексы сместятся). Поэтому мое предложение - сохранять PID выделенного процесса (он есть в получаемой информации о процессах и его можно сохранить, например в Data элемента, если используете элементы управления или StringList) и потом искать его в обновленном списке и ставить выделение на него, если он еще работает, и не ставить выделение вообще, если не найден.
Ответ отправил: PGM (статус: 5-ый класс)
Ответ отправлен: 18.04.2007, 10:27


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.50 (beta) от 15.04.2007
Яндекс Rambler's Top100

В избранное