Главная страница
    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.075 c
11-1208152039
Barloggg
2008-04-14 09:47
2010.08.27
String + KOL не так прост как кажется?


2-1269581230
Игорь Р.
2010-03-26 08:27
2010.08.27
Opera и Delphi


15-1264411731
KilkennyCat
2010-01-25 12:28
2010.08.27
Нет ли у кого в Питере ненужного сломанного принтера


2-1265977110
Начинающий__
2010-02-12 15:18
2010.08.27
Подстрока в строке


2-1266484344
Kiril123
2010-02-18 12:12
2010.08.27
Последовательность событий жизненного цикла форм





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский