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

Вниз

Компилятор Дельфи   Найти похожие ветки 

 
_Mike_   (2007-07-18 12:35) [40]


> Возраст наверное.

Хм. Я не скажу что вы на много старше меня. Так что, все-таки, наверное, желание :)


 
_Mike_   (2007-07-18 12:36) [41]


> _Mike_   (18.07.07 12:35) [40]

Хотел выделить слова "на много".


 
Игорь Шевченко ©   (2007-07-18 12:48) [42]

_Mike_   (18.07.07 12:35) [40]

Твоего возраста я не знаю, анкеты нет, да и оффтопик это. Я к тому, что мне при моем бизнесе, зарплате и прочих атрибутах за трындение на форумах никак не платят. За репорты в QC, впрочем, тоже, но тем не менее, я полагаю, что отправив репорт в QC я хоть чем-то помогу не только себе.


 
_Mike_   (2007-07-18 12:52) [43]


> Твоего возраста я не знаю, анкеты нет

Эт не ко мне вопрос - а к администрации форума куда делась моя анкета (MikePetrichenko раньше был). А повторно мне регистрироваться ну очень лень.


> помогу не только себе.

Возможно когда у меня будет желание после правки таких глюков что-то туда написать кроме не лестных отзывов - я это сделаю. А писать гадости - ну не собираюсь я - потому как продукт-то (Delphi) ну очень хороший. :)


 
Игорь Шевченко ©   (2007-07-18 12:58) [44]


>
> Эт не ко мне вопрос - а к администрации форума куда делась
> моя анкета (MikePetrichenko раньше был). А повторно мне
> регистрироваться ну очень лень


Вот сюда наверное делась:
http://www.delphimaster.ru/cgi-bin/anketa.pl?id=1160185310


 
_Mike_   (2007-07-18 13:00) [45]


> Игорь Шевченко ©   (18.07.07 12:58) [44]

Так не дает мне писать под тем ником - говорит не найдено.


 
oxffff ©   (2007-07-18 13:03) [46]


> _Mike_   (18.07.07 12:25) [36]
>
> > Почему ты пишешь на Delphi, да еще и втихую?.
>
> Что значит в тихую? Почему? Не только на Delphi.


Можно получить код, который выявляет недостатки компилятора Delphi?
Да и не нужно все "более ста строк", достаточно только ключевые.

А в тихую потому, что громкое утверждение "Тупой он. Особенно оптимизатор. Да еще если локальные процедуры да и указатели в них."
А от delphi еще не отказался. Сам же указал с 5 по 2006


 
_Mike_   (2007-07-18 13:04) [47]


> Можно получить код, который выявляет недостатки компилятора
> Delphi?

Я уже отправил одному форумчанину. Хватит - не благотворительная организация.


> А от delphi еще не отказался. Сам же указал с 5 по 2006

За что платят на том и пишу. Будут платить за BrainFuck буду писать на нем.


 
_Mike_   (2007-07-18 13:06) [48]

Да. В дагонку. Я ни где не говорил что Delphi плоха. Однако баги есть и оптимизатор туп.


 
Думкин ©   (2007-07-18 13:06) [49]

> _Mike_   (18.07.07 13:04) [47]

Письма пока нет. А объем какой?


 
Kerk ©   (2007-07-18 13:06) [50]

_Mike_, если ты такой весь из себя занятой и важный, чего на форуме-то делаешь?


 
_Mike_   (2007-07-18 13:08) [51]


> Письма пока нет. А объем какой?

Маленький - там ссылка и пароль на архив с полной версией. мне в ломы было видирать код.


> Mike_, если ты такой весь из себя занятой и важный, чего
> на форуме-то делаешь?

Отпуск у меня. Это Ваш последний аргумент?


 
Думкин ©   (2007-07-18 13:10) [52]

> _Mike_   (18.07.07 13:08) [51]

А.....а архив насколько тяжел? И в Турбо это скомпилится? А то может, я не лучший представитель для такого?


 
Kerk ©   (2007-07-18 13:10) [53]

[51] _Mike_   (18.07.07 13:08)
> Отпуск у меня.

Значит время нашлось на форум, да, занятой ты наш? Читать противно, снизошел блин до нас мессия.


 
_Mike_   (2007-07-18 13:11) [54]


> .....а архив насколько тяжел? И в Турбо это скомпилится?
>  А то может, я не лучший представитель для такого?

Тож не большой. Скомпилится.


 
_Mike_   (2007-07-18 13:12) [55]


> Значит время нашлось на форум, да, занятой ты наш? Читать
> противно, снизошел блин до нас мессия.

Я Вас где-то оскорблял? Да и не Вам считать мое время (как и деньги тоже).


 
oxffff ©   (2007-07-18 13:14) [56]

to _Mike

Бывает конечно у компилятора delphi

mov eax,ebx;
mov ebx,eax

или аналогично

mov [ebp-$04],eax;
mov eax,[ebp-$04];

Давай твои изыскания. А так это только голословные утверждения с твоей стороны.


 
_Mike_   (2007-07-18 13:16) [57]


> Давай твои изыскания. А так это только голословные утверждения
> с твоей стороны.

Еще раз. Я уже отправил человеку код. Больше никому отправлять не буду - я не благотворительная организация.


 
Kerk ©   (2007-07-18 13:17) [58]

[55] _Mike_   (18.07.07 13:12)
> Я Вас где-то оскорблял?

Ты несешь бред, ничем его не обосновывая. Вместо обоснований идут ссылки на нехватку времени и занятость.

> Да и не Вам считать мое время (как и деньги тоже).

Я уже понял. У тебя очень много денег и очень мало времени. Ты это в каждой ветке объясняешь всем.


 
oxffff ©   (2007-07-18 13:21) [59]


> _Mike_   (18.07.07 13:16) [57]
>
> > Давай твои изыскания. А так это только голословные утверждения
>
> > с твоей стороны.
>
> Еще раз. Я уже отправил человеку код. Больше никому отправлять
> не буду - я не благотворительная организация.


Тебе нужны деньги за это? Сколько?


 
_Mike_   (2007-07-18 13:25) [60]


> Ты несешь бред, ничем его не обосновывая

Эта тема уже здесь обсуждалась. Это раз. Код я уже давал. Это два. Ваше право верить или не верить. У нас и у Вас свободная страна.


> У тебя очень много денег и очень мало времени

А это, простите, не Ваше дело.


> объясняешь всем.

Ни кому я ни чего не объясняю.


> Тебе нужны деньги за это? Сколько?

Нужны, а Вам нет? Но не за это (см. выше).

P.S. Поищите на просторах интернета - ваши любимые пираты (не лично Ваши, а вообще - ваши) не раз уже кардили - так что поиск рулит.


 
db2admin ©   (2007-07-18 13:30) [61]

почему если первую страницу читать интересно и полезно, то в последующих просто вьется снобизм?


 
Kerk ©   (2007-07-18 13:35) [62]

> [60] _Mike_   (18.07.07 13:25)

Ты крут, ты нереально крут, круче некуда :)
Вот что с людьми одна среднего уровня шароварка делает :)


 
oxffff ©   (2007-07-18 13:46) [63]

Оно?
http://mpetrichenko.moikrug.ru/
http://www.petergen.com/sources/petrich_k.shtml
http://www.download.ru/author/29888


 
_Mike_   (2007-07-18 13:47) [64]


> Вот что с людьми одна среднего уровня шароварка делает :
> )

Сделайте лучше. Кто Вам мешает? А сидя на чьей-то шее все легче рассуждать.

P.S. С этого момента я буду Ваши личностные нападки игнорировать - если Вам нечего сказать по существу вопроса. Аль жаба душит?


 
Игорь Шевченко ©   (2007-07-18 13:48) [65]

Вот же людям делать нефиг


 
_Mike_   (2007-07-18 13:50) [66]


> oxffff ©   (18.07.07 13:46) [63]

Последнее оно. Первые два - не оно. Полные тезки (или однофамильцы - хз как правильно).


 
Kerk ©   (2007-07-18 13:52) [67]

[64] _Mike_   (18.07.07 13:47)
> Аль жаба душит?

Да. Так и есть. Тебе великому ВСЕ завидуют. Вообще все. И я тоже. Признаюсь честно. Хочу быть таким же великолепным как ты :)


 
Panel   (2007-07-18 13:53) [68]

2 _Mike_

Миша, ты это, вообще, о чем? Опять курил? Небось, натощак?
Завязывай флудить.
Давай конкретику.
И побольше креатива.


 
Игорь Шевченко ©   (2007-07-18 13:56) [69]

Завязываем с оффтопиком.


 
Kerk ©   (2007-07-18 13:58) [70]

> [69] Игорь Шевченко ©   (18.07.07 13:56)

Да ладно. Не видишь, человек занят? Не мешай ему флудить :)


 
db2admin ©   (2007-07-18 14:27) [71]

Игорь Шевченко ©   (18.07.07 13:56) [69]
Не флудю действительно интересно
Вопрос лично к тебе какой вариант реализации ты предлагаеш для функции

function SomeFunction:String;
begin
 Result := "";
 try
   //возможное исключение
 except
   // в обработке исключения что ли
   // Result := "";
 end;
end;
Почему такой вариант ошибочен?

_Mike_  
Просьба не отвечать даже если знаеш твой снобизм показатель твоего професионалтзма.


 
Игорь Шевченко ©   (2007-07-18 14:31) [72]


> Вопрос лично к тебе какой вариант реализации ты предлагаеш
> для функции


а какие хинты выдает компилятор ?


 
Германн ©   (2007-07-18 14:42) [73]


> Игорь Шевченко ©   (18.07.07 10:28) [18]
>
...
> - чем меньше лишнего кода, тем проще работать.
> - при компилиции не должно быть ни хинтов ни предупреждений.

У меня как раз эти самые два правила очень часто конфликтуют между собой в операторе case
:)


 
Asail   (2007-07-18 15:42) [74]


> Игорь Шевченко ©   (18.07.07 14:31) [72]
>
> > Вопрос лично к тебе какой вариант реализации ты предлагаеш
>
> > для функции
>
>
> а какие хинты выдает компилятор ?

См. мои предыдущие посты - на стрингах ни каких хинтов не выдаст.


 
Asail   (2007-07-18 15:44) [75]


> Игорь Шевченко ©   (18.07.07 13:56) [69]
> Не флудю действительно интересно
> Вопрос лично к тебе какой вариант реализации ты предлагаеш
> для функции

На мой взгляд - оба имеют право на жизнь, хотя лично я предпочитаю в except.


 
Игорь Шевченко ©   (2007-07-18 15:57) [76]

Asail   (18.07.07 15:42) [74]


> См. мои предыдущие посты - на стрингах ни каких хинтов не
> выдаст.


function Foo (Bar, Baz: Integer): string;
begin
 Result := "";
 try
   Result := IntToStr(Bar div Baz);
 except
   Result := "";
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Edit3.Text := Foo(StrToIntDef(Edit1.Text, 0), StrToIntDef(Edit2.Text, 0));
end;

end.

main.pas.30: begin
00454BC4 55               push ebp
00454BC5 8BEC             mov ebp,esp
00454BC7 51               push ecx
00454BC8 53               push ebx
00454BC9 56               push esi
00454BCA 57               push edi
00454BCB 894DFC           mov [ebp-$04],ecx
00454BCE 8BF2             mov esi,edx
00454BD0 8BD8             mov ebx,eax
main.pas.31: Result := "";
00454BD2 8B45FC           mov eax,[ebp-$04]
00454BD5 E872FAFAFF       call @LStrClr
main.pas.32: try
00454BDA 33C0             xor eax,eax
00454BDC 55               push ebp
00454BDD 68FF4B4500       push $00454bff
00454BE2 64FF30           push dword ptr fs:[eax]
00454BE5 648920           mov fs:[eax],esp
main.pas.33: Result := IntToStr(Bar div Baz);
00454BE8 8BC3             mov eax,ebx
00454BEA 99               cdq
00454BEB F7FE             idiv esi
00454BED 8B55FC           mov edx,[ebp-$04]
00454BF0 E84338FBFF       call IntToStr
00454BF5 33C0             xor eax,eax
00454BF7 5A               pop edx
00454BF8 59               pop ecx
00454BF9 59               pop ecx
00454BFA 648910           mov fs:[eax],edx
00454BFD EB12             jmp $00454c11
00454BFF E9FCF0FAFF       jmp @HandleAnyException
main.pas.35: Result := "";
00454C04 8B45FC           mov eax,[ebp-$04]
00454C07 E840FAFAFF       call @LStrClr
00454C0C E8FFF4FAFF       call @DoneExcept
main.pas.37: end;
00454C11 5F               pop edi
00454C12 5E               pop esi
00454C13 5B               pop ebx
00454C14 59               pop ecx
00454C15 5D               pop ebp
00454C16 C3               ret

Не выдаст

И так:

function Foo (Bar, Baz: Integer): string;
begin
 try
   Result := IntToStr(Bar div Baz);
 except
   Result := "";
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Edit3.Text := Foo(StrToIntDef(Edit1.Text, 0), StrToIntDef(Edit2.Text, 0));
end;

end.

main.pas.30: begin
00454BC4 55               push ebp
00454BC5 8BEC             mov ebp,esp
00454BC7 51               push ecx
00454BC8 53               push ebx
00454BC9 56               push esi
00454BCA 57               push edi
00454BCB 894DFC           mov [ebp-$04],ecx
00454BCE 8BF2             mov esi,edx
00454BD0 8BD8             mov ebx,eax
main.pas.31: try
00454BD2 33C0             xor eax,eax
00454BD4 55               push ebp
00454BD5 68F74B4500       push $00454bf7
00454BDA 64FF30           push dword ptr fs:[eax]
00454BDD 648920           mov fs:[eax],esp
main.pas.32: Result := IntToStr(Bar div Baz);
00454BE0 8BC3             mov eax,ebx
00454BE2 99               cdq
00454BE3 F7FE             idiv esi
00454BE5 8B55FC           mov edx,[ebp-$04]
00454BE8 E84B38FBFF       call IntToStr
00454BED 33C0             xor eax,eax
00454BEF 5A               pop edx
00454BF0 59               pop ecx
00454BF1 59               pop ecx
00454BF2 648910           mov fs:[eax],edx
00454BF5 EB12             jmp $00454c09
00454BF7 E904F1FAFF       jmp @HandleAnyException
main.pas.34: Result := "";
00454BFC 8B45FC           mov eax,[ebp-$04]
00454BFF E848FAFAFF       call @LStrClr
00454C04 E807F5FAFF       call @DoneExcept
main.pas.36: end;
00454C09 5F               pop edi
00454C0A 5E               pop esi
00454C0B 5B               pop ebx
00454C0C 59               pop ecx
00454C0D 5D               pop ebp
00454C0E C3               ret

Тоже не выдаст.

И что ?


 
sniknik ©   (2007-07-18 17:14) [77]

> А где здесь обращение к пропертям?
> Result := "a";
Result типа стринг, оно само и есть дефаултная "пропертя" для самой себя. и ему как раз "a" и присваивается.

> См. мои предыдущие посты - на стрингах ни каких хинтов не выдаст.
читай мой предыдущий пост про то что такое стринг.

если "обернуть"  классом тот же интеджер для которого  хинты выдает то их тоже не будет, причина очевидна, оптимизатор просто не знает что там делается(или может делаться) по присвоению проперти.

т.е. делаем вместо  
function TForm1.MyFunct: Integer;
begin
 result:= 2;
 result:= 3;
end;
с хинтом

type
 TMyInteger = class
   FValue: integer;
 public
   property Value: integer read FValue write FValue;
 end;

function TForm1.MyFunct: TMyInteger;
begin
 result:= TMyInteger.Create;
 result.Value:= 2;
 result.Value:= 3;
end;
и хинта не будет...
отличие для стринга только в том что это "маджик" тип(клас), дельфя его сама создает/уничтожает и дополнительного ".Value" писать не надо.
оптимизатор же не разбирает, что это за класс, просто все "пропускает" т.к. в их случае определить определяется значение или там еще чтото делается нет возможности.

(более точно, имхо, представить стринг как аналог bstr из С++, только более встроенный в систему... уже не чистый класс но еще не тип)


 
sniknik ©   (2007-07-18 17:53) [78]

кстати может дело даже "глобальнее" чем кажется, оптимизатором игнорируются не только классовые переменные, а вообще все в которых указатели участвуют (х.з. почему);
т.е. если переписать интеджера на указатель
function TForm1.MyFunct: Pointer;
begin
 result:= Pointer(1);
 result:= Pointer(2);
end;
тоже нет хинта (тех нет, другие добавляются, если не отключать, о небезопасности типа)


 
Германн ©   (2007-07-19 03:38) [79]

А ещё меня достало писАть в каждой функции перед begin строчки:
var
 Error : Integer;

:(((


 
Германн ©   (2007-07-19 04:04) [80]


> Германн ©   (19.07.07 03:38) [79]

К компилятору не относится. Это так, сражаюсь с "земляными червяками" :)

Просто если я не вставлю эти две строчки, то компилятор меня обругает и не даст результат. А добавлять потом, после х.з. какого периода, обработку ошибок с выдачей "Номера ошибки" - это, имхо, геморрой ещё тот!

P.S.
В ТЗ написано так: "Возвращаемое значение свидетельствует об успехе операции"
а его тип BOOL (Си).



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

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

Наверх




Память: 0.64 MB
Время: 0.044 c
6-1162985870
Del_
2006-11-08 14:37
2007.08.19
HTTPS через Socks


2-1185531876
Егоров А.Н.
2007-07-27 14:24
2007.08.19
Проверка существования формы перед ее открытием


15-1184935042
Ксюша
2007-07-20 16:37
2007.08.19
DELPHI+OUTLOOK


15-1185274700
StrangerMX
2007-07-24 14:58
2007.08.19
Подскажите есть ли RXLIB для BDS 2006 .Net


5-1159266762
DevilDevil
2006-09-26 14:32
2007.08.19
TCollection. run-time VS desine-time





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