Pinocchio Не, мне до этого далеко
В общем на другом форуме разъяснили -
>>У меня такое сообщение иногда встречается. Как я понял - это проиходит при следующих условиях:
1. В настройках Delphi включена опция Tools\Enviroment option\Autosave option\Project desktop.
2. При закрытии Delphi происходит exeption и в результате приходится снимать задачу (delphi32).
Я так понял, что в результате файл с настройками рабочего стола Delphi получается битым.
Как правило exception происходит после того, как программа в режиме отладки прерывалась по Ctrl+F2. Либо используются компоненты, которые не очень то следят за Exception при неправильных настройках, и или не правильно отрабатывающие прядок создания удаления компонентов.
В большинстве случаев достаточно просто открыть проект не смотря на эту ошибку, и ничего не делая выйти из Delphi с включеной опцией Tools\Enviroment option\Autosave option\Project desktop. Если не произойдет Exception - то все должно нормально заработать.
Еще возможно(но я не проверял) от этой ошибки можно избавиться просто удалив файл с настройками рабочего стола Delphi а именно файл "Имя проекта".dsk
Есть другой еще вопрос:
Написал вот такую простенькую процедурку
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
Pr: TPrinter;
Device, Driver, Port: array[0..255] of Char;
hPrn: THandle;
begin
Pr := TPrinter.Create;
for I := 0 to Pr.Printers.Count - 1 do // Iterate
begin
Pr.PrinterIndex := I;
Pr.GetPrinter(Device, Driver, Port, hPrn);
ShowMessage(string(Device) + ' ' + string(Driver) + ' ' + string(Port));
end; // for
Pr.Free;
end;
Только вот почему то string(Driver) = '' и string(Port) = ''. Почему?