Форум: "Основная";
Текущий архив: 2010.01.17;
Скачать: [xml.tar.bz2];
ВнизDLL и завершение работы Windows Найти похожие ветки
← →
megaadmin (2009-02-05 07:10) [0]Здравствуйте уважаемые мастера Delphi.
Я хочу написать программу которая будет отображать на компьютерах нашего интернет-кафе оставшееся время работы клиента.
На сервера программа следит за временем и пишет информацию в расшареную папку "clients". Машины клиентов периодически читают свой файл и пишут информацию вверху экрана.
Я хочу написать её в виде DLL т.к. софт постоянно обновляем.
Все работает нормально но при выключении компьютера выскакивает окно "Программа не отвечает".
Чтоб решить проблему можно экспортировать еще 1 функцию например "ExitProgram" но тогда эта библиотека будет не универсальной.
Вот код DLL:
library timeshow;
uses
Windows, Graphics, Forms, SysUtils, Classes;
procedure Start;
var
c: TCanvas;
ms: TMemoryStream;
d: TDateTime;
work: Boolean;
begin
work := True;
ms := TMemoryStream.Create;
c := TCanvas.Create;
c.Handle := GetDC(0);
while work do
begin
Sleep(5000);
ms.LoadFromFile("\\192.168.9.1\clients\client_time_1.dat");
ms.Position := 0;
ms.Read(d, SizeOf(TDateTime));
c.TextOut(Trunc(Screen.Width / 2), 0, TimeToStr(Time));
end;
c.Free;
ms.Free;
end;
exports Start;
begin
end.
Вызвать можно например так:
rundll32.exe timeshow.dll,Start
Спасибо за помощь.
← →
brother © (2009-02-05 07:44) [1]> Sleep(5000);
это зачем?
← →
Anatoly Podgoretsky © (2009-02-05 09:02) [2]> megaadmin (05.02.2009 7:10:00) [0]
Ну и чем обосновано использование именно ДЛЛ
← →
Anatoly Podgoretsky © (2009-02-05 09:05) [3]Удалено модератором
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2010.01.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c