Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Откуда береться точка?   Найти похожие ветки 

 
Дмитрий С ©   (2010-05-13 08:54) [0]

raise Exception.Create("Тест");
=>
---------------------------
Project1
---------------------------
Тест.
---------------------------
ОК  
---------------------------


raise Exception.Create("Тест.");
=>
---------------------------
Project1
---------------------------
Тест.
---------------------------
ОК  
---------------------------


raise Exception.Create("Тест..");
=>
---------------------------
Project1
---------------------------
Тест..
---------------------------
ОК  
---------------------------


 
brother ©   (2010-05-13 09:03) [1]

unit SysUtils;

...

function ExceptionErrorMessage(ExceptObject: TObject; ExceptAddr: Pointer;
 Buffer: PChar; Size: Integer): Integer;
{$IFDEF MSWINDOWS}

 function ConvertAddr(Address: Pointer): Pointer; assembler;
 asm
         TEST    EAX,EAX         { Always convert nil to nil }
         JE      @@1
         SUB     EAX, $1000      { offset from code start; code start set by linker to $1000 }
 @@1:
 end;

var
 MsgPtr: PChar;
 MsgEnd: PChar;
 MsgLen: Integer;
 ModuleName: array[0..MAX_PATH] of Char;
 Temp: array[0..MAX_PATH] of Char;
 Format: array[0..255] of Char;
 Info: TMemoryBasicInformation;
 ConvertedAddress: Pointer;
begin
 VirtualQuery(ExceptAddr, Info, sizeof(Info));
 if (Info.State <> MEM_COMMIT) or
   (GetModuleFilename(THandle(Info.AllocationBase), Temp, SizeOf(Temp)) = 0) then
 begin
   GetModuleFileName(HInstance, Temp, SizeOf(Temp));
   ConvertedAddress := ConvertAddr(ExceptAddr);
 end
 else
   Integer(ConvertedAddress) := Integer(ExceptAddr) - Integer(Info.AllocationBase);
 StrLCopy(ModuleName, AnsiStrRScan(Temp, "\") + 1, SizeOf(ModuleName) - 1);
 MsgPtr := "";
 MsgEnd := "";
 if ExceptObject is Exception then
 begin
   MsgPtr := PChar(Exception(ExceptObject).Message);
   MsgLen := StrLen(MsgPtr);
   if (MsgLen <> 0) and (MsgPtr[MsgLen - 1] <> ".") then MsgEnd := ".";
 end;
 LoadString(FindResourceHInstance(HInstance),
   PResStringRec(@SException).Identifier, Format, SizeOf(Format));
 StrLFmt(Buffer, Size, Format, [ExceptObject.ClassName, ModuleName,
   ConvertedAddress, MsgPtr, MsgEnd]);
 Result := StrLen(Buffer);
end;

оно?


 
Дмитрий С ©   (2010-05-13 14:25) [2]


> оно?

Оно-оно, но зачем?


 
Palladin ©   (2010-05-13 14:31) [3]

Потому что в конце предложения ставится точка.


 
Andy BitOff ©   (2010-05-13 14:33) [4]

Видимо, разработчики руководствовались правилами правописания, в конце предложения ставится точка, хотя в случае наличия в конце восклицательного знака, получится не верно.


 
RWolf ©   (2010-05-13 14:37) [5]

Возможно, разработчики посчитали, что восклицательные знаки в сообщении об ошибке — это несерьёзно?
raise EReactorExplosion.Create("Все в укрытие!");


 
Andy BitOff ©   (2010-05-13 14:43) [6]


> RWolf ©   (13.05.10 14:37) [5]

raise ESomeErrorExplosion.Create("Warning! Error!");

=)


 
RWolf ©   (2010-05-13 14:45) [7]


> Andy BitOff ©   (13.05.10 14:43) [6]

а ну как у оператора сердце слабое? )


 
Омлет ©   (2010-05-13 15:17) [8]

Экономия байтов.


 
Palladin ©   (2010-05-13 15:26) [9]


> Омлет ©   (13.05.10 15:17) [8]

Ты имеешь ввиду что если в конце каждой строчки добавлять, при необходимости, точку, то байтов будет меньше?


 
Anatoly Podgoretsky ©   (2010-05-13 16:49) [10]

> Омлет  (13.05.2010 15:17:08)  [8]

Тонера


 
Palladin ©   (2010-05-13 16:57) [11]


> Anatoly Podgoretsky ©   (13.05.10 16:49) [10]

Ты имеешь ввиду что если в конце каждой строчки добавлять, при необходимости, точку, то тонера потратится будет меньше?


 
12 ©   (2010-05-13 17:17) [12]


> если в конце каждой строчки добавлять, при необходимости,
>  точку

тогда, зная сей факт, можно не утруждать ее ставить в своих исходниках.
Вот и экономия


 
Омлет ©   (2010-05-13 18:47) [13]

> Palladin ©   (13.05.10 15:26) [9]

см. 12 ©   (13.05.10 17:17) [12]


 
Anatoly Podgoretsky ©   (2010-05-13 19:18) [14]

> Palladin  (13.05.2010 16:57:11)  [11]

По сравнению с воскличательным знаком? Какие могут быть сомнения.


 
Anatoly Podgoretsky ©   (2010-05-13 19:53) [15]

> 12  (13.05.2010 17:17:12)  [12]

В твоих исходниках, завершающая точка только одна, после последнего END


 
xayam ©   (2010-05-14 08:06) [16]


> Anatoly Podgoretsky ©   (13.05.10 19:53) [15]
> > 12  (13.05.2010 17:17:12)  [12]
> В твоих исходниках, завершающая точка только одна, после
> последнего END

ага, массивами, записями и классами он не пользуется :)


 
GrayFace ©   (2010-05-14 21:38) [17]

Точку приносит аист.


 
vuk ©   (2010-05-14 22:29) [18]

Точка означает, что радист работает под контролем. :)


 
Palladin ©   (2010-05-15 14:56) [19]


> Anatoly Podgoretsky ©   (13.05.10 19:18) [14]

Дядя Онотоль, тебе рассказать какие могут быть сомнения в фразе "о сравнению с воскличательным знаком? Какие могут быть сомнения." ? )

а с Омлетом вообще отдельный разговор...  но таких в космонафты точно не берут


 
Кто б сомневался ©   (2010-05-15 20:25) [20]

Чтоли запостить как баг в QC? Чтоб вообще убрали эту дурость.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.091 c
15-1263763827
Юрий
2010-01-18 00:30
2010.08.27
С днем рождения ! 18 января 2010 понедельник


15-1270041267
12
2010-03-31 17:14
2010.08.27
Прикольный рудимент. D7.XP.


11-1215697287
KOLBOSS
2008-07-10 17:41
2010.08.27
как добавить страницу в RichEdit


15-1263939469
Маша
2010-01-20 01:17
2010.08.27
Странная задачка


6-1219479860
Rembo
2008-08-23 12:24
2010.08.27
winsock2 клиент сервер connect 10035





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский