![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Посоветуйте ф-ю определиня размера ОЗУ более 2гиг
Layner © (2008-01-17 09:21:00)нигде не могу найти, ни в пакетах (AllLib например) ни по одиночке...
homm (2008-01-22 21:20:00) [1]> [13] Дмитрий Белькевич © (20.01.08 19:38)
> >А на XP нет возможности поставить более 2х
>
> В XP SP2 есть ключ в boot.ini, можно до трёх
Ты не понимаешь о чем ты говоришь.
Pavia (2008-01-22 19:24:00) [2]Можно на XP поставить. Только ОС должна быть 64 битная. И для XP нужен патч.
Дмитрий Белькевич (2008-01-20 19:38:00) [3]>А на XP нет возможности поставить более 2х
В XP SP2 есть ключ в boot.ini, можно до трёх
han_malign (2008-01-18 12:48:00) [4]
> поставь 4 гига и посмотри под хр
XP(SP2) поддерживает 64-битную GlobalMemoryStatus Ex. Насколько корректно не знаю - проверить не на чем...
KilkennyCat (2008-01-17 19:41:00) [5]
> Layner © (17.01.08 13:38) [10]
>
> KilkennyCat © (17.01.08 13:10)
> У меня на 2003
я не говорил 2003...
Layner (2008-01-17 13:38:00) [6]
KilkennyCat © (17.01.08 13:10)
У меня на 2003 винде 4 гига, все кажет, и отлично. А на XP нет возможности поставить более 2х :(
А что, почему в XP не кажет более 2х этот код? У меня сейчас гиг, полет нормальный.. Можно поподробнее?
KilkennyCat (2008-01-17 13:10:00) [7]
> Все кажет на ура, то что надо!
поставь 4 гига и посмотри под хр
Layner (2008-01-17 11:22:00) [8]
han_malign © (17.01.08 10:33)
Дружище, спасибо! Все кажет на ура, то что надо! Напиши на email, как нибудь по нормальному отблагодарю, очень выручил!
Сергей М. (2008-01-17 10:49:00) [9]
> еще надо посмотреть кол-во свободной/занятой памяти
А вот этим уже заведует ОС, в БИОСе нет и не может быть такой инф-ции
Layner (2008-01-17 10:42:00) [10]Сейчас оттестим :)))
han_malign (2008-01-17 10:33:00) [11]а GlobalMemoryStatusEx не работает?
type
TMemoryStatusEx = packed record
dwLength : DWORD;
dwMemoryLoad : DWORD;
ullTotalPhys : LONGLONG;
ullAvailPhys : LONGLONG;
ullTotalPageFile : LONGLONG;
ullAvailPageFile : LONGLONG;
ullTotalVirtual : LONGLONG;
ullAvailVirtual : LONGLONG;
ullAvailExtendedVirtual: LONGLONG;
end;
type PGlobalMemoryStatusExProc = function(var lpBuffer: TMemoryStatusEx): BOOL;stdcall;
function GlobalMemoryStatusEx(var lpBuffer: TMemoryStatusEx): BOOL;
var hLib: THandle;
_pgmse: PGlobalMemoryStatusExProc;
begin
hLib:=LoadLibrary('kernel32');
Result:=hLib<>0;
if(Result)then begin
_pgmse:=GetProcAddress(hLib,'GlobalMemoryStatusEx');
Result:=Assigned(_pgmse)and _pgmse(lpBuffer);
FreeLibrary(hLib);
end;
end;
function MemoryStatus: TMemoryStatusEx;
var _mstat: TMemoryStatus;
begin
fillchar(Result,sizeof(Result),0);
Result.dwLength:=sizeof(Result);
if(not GlobalMemoryStatusEx(Result))then begin
fillchar(_mstat,sizeof(_mstat),0);
_mstat.dwLength:=sizeof(_mstat);
GlobalMemoryStatus(_mstat);
fillchar(Result,sizeof(Result),0);
Result.dwLength:=sizeof(Result);
with Result do begin
dwMemoryLoad :=_mStat.dwMemoryLoad ;
ullTotalPhys :=_mStat.dwTotalPhys ;
ullAvailPhys :=_mStat.dwAvailPhys ;
ullTotalPageFile :=_mStat.dwTotalPageFile;
ullAvailPageFile :=_mStat.dwAvailPageFile;
ullTotalVirtual :=_mStat.dwTotalVirtual ;
ullAvailVirtual :=_mStat.dwAvailVirtual ;
end;
end;
end;
Layner (2008-01-17 10:15:00) [12]Сергей, а как из биоса подчерпнуть? Так то еще надо посмотреть кол-во свободной/занятой памяти...
KilkennyCat (2008-01-17 10:05:00) [13]
> Сергей М. © (17.01.08 10:04) [2]
скорее всего. Ибо некоторые ос не видят более чем определенное количество памяти.
Сергей М. (2008-01-17 10:04:00) [14]Более правдивой инф-ции об объеме бортовой RAM, нежели инф-ция из BIOSа, вряд ли сыскать)
Layner (2008-01-17 10:01:00) [15]Никто ни разу не определял? :(