Форум: "Начинающим";
Текущий архив: 2012.04.08;
Скачать: [xml.tar.bz2];
ВнизПочему? Value assigned to ... never used Найти похожие ветки
← →
SQLEX © (2011-12-17 22:24) [0]Недавно был такой вопрос, но наоборот
Тут есть тоже защищенный блок, теоретически может быть неопределен result. Правильно?
Однако пишет так:begin
// result:=0; //[Hint] Unit1.pas(90): Value assigned to "GetSystemPalette" never used
Focus := GetFocus;
DC:=GetDC(Focus);
try
PaletteSize := GetDeviceCaps(DC, SIZEPALETTE);
LogSize := SizeOf(TLogPalette) + (PaletteSize-1)*SizeOf(TPaletteEntry);
GetMem(LogPalette, LogSize);
try
with LogPalette^ do
begin
palVersion := $0300;
palNumEntries := PaletteSize;
GetSystemPaletteEntries(DC, 0, PaletteSize, palPalEntry);
end;
result := CreatePalette(LogPalette^);
finally
FreeMem(LogPalette, LogSize);
end;
finally
ReleaseDC(Focus, DC);
end;
end;
← →
SQLEX © (2011-12-17 22:28) [1]упс, не скопировалось начало
function GetSystemPalette : HPalette;
var
PaletteSize : integer;
LogSize : integer;
LogPalette : PLogPalette;
DC : HDC;
Focus : HWND;
begin
← →
Anatoly Podgoretsky © (2011-12-17 23:01) [2]> SQLEX (17.12.2011 22:24:00) [0]
Конечно не использыется, поскольку дальше заменяется result :=
CreatePalette(LogPalette^);
← →
SQLEX © (2011-12-17 23:04) [3]ну да,
но до этого же было дважды вхождение в блок try
при ошибке в getmem, например, возврат будет неопределен
← →
Anatoly Podgoretsky © (2011-12-17 23:12) [4]> SQLEX (17.12.2011 23:04:03) [3]
А это будет уже другое предупреждение, которое сейчас выдать нельзя.
← →
SQLEX © (2011-12-18 00:09) [5]а с другой стороны, когда коментим первую строку -
нет никакого предупреждения, что может не определен результат.
а он может быть не определен. Ведь так?
А если писать первым же делом result := - то есть предупреждение о "лишнем присваивании"
← →
Плохиш © (2011-12-18 00:09) [6]
> SQLEX © (17.12.11 23:04) [3]
>
> ну да,
> но до этого же было дважды вхождение в блок try
> при ошибке в getmem, например, возврат будет неопределен
При исключение результат данной функции никого не интересует, ибо вызывающий код управления не получит, а будет искаться ближайший следующий по коду обработчик исключительных ситуаций. Ибо это есть единственно верный и божественный путь, описанный в библии используемого языка программирования!
← →
Плохиш © (2011-12-18 00:10) [7]
> SQLEX © (18.12.11 00:09) [5]
> а он может быть не определен. Ведь так?
Ты верь компилятору - он умнее тебя.
← →
Юрий Зотов © (2011-12-19 00:07) [8]
> SQLEX © (18.12.11 00:09) [5]
> а с другой стороны, когда коментим первую строку -
> нет никакого предупреждения, что может не определен результат.
> а он может быть не определен. Ведь так?
Нет, не так. Здесь либо результат определен, либо возникает исключение - а при исключении, как уже сказал Плохиш, определенность результата никого не интересует.
← →
OW © (2011-12-19 08:57) [9]
> Плохиш © (18.12.11 00:09) [6]
> Юрий Зотов © (19.12.11 00:07) [8]
Спасибо
( можно было и самому догадаться, ступил :) )
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.04.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c