Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

прехвалената Виста я посинили
http://mcu-bg.com/mcu_site/viewtopic.php?f=6&t=3469
Страница 1 от 3

Автор:  ДедоБоре [ Пон Дек 25, 2006 8:58 pm ]
Заглавие:  прехвалената Виста я посинили

някакъв руснак написъл това:
Код:
char bug [] = "\\??\\C:\\";
for(int i = 0; i < 10; i ++)
{
  ::MessageBox(0, bug, bug, MB_SERVICE_NOTIFICATION);
}


след 2-3 итерации син екран или ребут.
няма значение какъв е компилатора.

повече за дискусията - тук http://www.kuban.ru/forum_new/forum2/files/19124.html

Автор:  vlado [ Пон Дек 25, 2006 9:03 pm ]
Заглавие: 

Е, нали знаеш, че в първите версии винаги си има куп бъгове ;-). Аз за това почти винаги изчаквам като пусне някой нов софтуер на пазара, първо да се стабилизира и тогава евентуално почвам да го ползвам... И аз си вадя хляба с писане на софтуер и знам, че винаги си има бъгове, колкото и да се стараем :oops:

Автор:  Sonic [ Вто Дек 26, 2006 12:22 am ]
Заглавие: 

уххх ... като гледам кода - ми - дам - наистина е весел ...
това проверява дали "C:" устроиството е закачено към "?" root обекта ...
което си е само посебеси простотия ... ама явно не са мислили от microsoft че може безасмислицата да стане мизерия ... - въпреки че само по себеси не е нещо сериозно ...

Бъга се базира на модела заложен отдавна , но доразвит в Vista - модела на устроиствата и обектите съдържани в някакъв root обект - нещо доста наподобяващо unix файловото дърво ...
Откакто microsoft си купиха собствен unix и се опитват да моднат windwos-a се получават доста странни неща :)

( едит - ся като го гледам така - може тва свързано с root обекта - изобщо да няма много общо - а тоя параметър - MB_SERVICE_NOTIFICATION - да е мизерията ... - требва да се тества )

пък и тоя параметър - MB_SERVICE_NOTIFICATION - не би требвало да е в MessageBox изобщо
дори това е стар проблем като гледам постовете на microsoft - уж оправен в Windows 2000

Автор:  ДедоБоре [ Вто Дек 26, 2006 12:47 am ]
Заглавие: 

ъъъ...
извинявай, ама къде видя сравнение и root обект? това си е проЗт стринг !

проблема май идва от странно дефинирания собстерник на този прозорец, в случая '0' вместо NULL.
MB_SERVICE_NOTIFICATION_NT3X го има, като е мапнат към друга стойност за съвместимост.
и определено значи различни неща в NT3.5 и NT4.
обаче вече се обърках кое е NT, кое е windows и кое ХР. вистата от кое котило е?

Автор:  Sonic [ Вто Дек 26, 2006 1:36 am ]
Заглавие: 

http://support.microsoft.com/kb/270610

Автор:  Lupus [ Вто Дек 26, 2006 2:27 am ]
Заглавие: 

Цитат:
....вистата от кое котило е?


Чакай де, още не с е е окотила!

Автор:  Sonic [ Вто Дек 26, 2006 12:34 pm ]
Заглавие: 

мега омазан Windows 2005 MC така го виждам , въпреки че го водят нещо уж коренно различно.
next step , ала бала ... - ама си върви доста добре де - на 512 мб / 2.8 GHz - си хвърчи , колкото повече рамец му буфкаш = толкова по-приятно става , и се държи по-добре от XP.
Иначе хаби 305 МБ беоставена сама на себеси , - без чужд софтуер да е пуснат, може да си я докараш до 200, че и леко надолу МБ ... ама без шаренията не е толкова подкефваща. ( иначе ан 400 MHz / 192 Mb бачка , ама не е толкова готино ) .

Lupus написа:
Цитат:
....вистата от кое котило е?


Чакай де, още не с е е окотила!


-аааа - окоти си бре , е - не е за крайния потребител пусната , ама има версия пусната дето се подмята вече за инсталване при големите доставчици и ОЕМи.
преди към месец беше тая работа - супер се държи .... а Office 2007 - направо - които си го е сложил - неисла да се раздели с него. - мноо красота и улеснения на едно място :)

Автор:  zaphod [ Вто Дек 26, 2006 1:24 pm ]
Заглавие: 

проблема не е във вистата, току що го пробвах, под ХР също ме заби....ще пробвам пак, дали стринга има значение. ще пише резултата какъв е

Автор:  zaphod [ Вто Дек 26, 2006 1:28 pm ]
Заглавие: 

мм да, наистина стринга има значение...

Автор:  Sonic [ Вто Дек 26, 2006 1:53 pm ]
Заглавие: 

пробвай дали "multi(0)disk(0)rdisk(0)partition(1)"
тоя стринг - кво ще даде - само той ... или в замяна на "C:"

Автор:  ДедоБоре [ Вто Дек 26, 2006 2:24 pm ]
Заглавие: 

само не миказвай, че през MessageBox можеш да си форматираш партишъни?

Автор:  TheWizard [ Вто Дек 26, 2006 2:43 pm ]
Заглавие: 

тук не забива :)

const
bug: PChar = '\\??\\C: \\';

procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
for i := 0 to 10 do
MessageBox(0, bug, bug, MB_SERVICE_NOTIFICATION);
end;

Автор:  Sonic [ Вто Дек 26, 2006 2:58 pm ]
Заглавие: 

TheWizard написа:
тук не забива :)

const
bug: PChar = '\\??\\C: \\';

procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
for i := 0 to 10 do
MessageBox(0, bug, bug, MB_SERVICE_NOTIFICATION);
end;


Да - но мисля че има значение как Delphi разглежда тоя символен низ , и как C го разглежда...
трябва да се вземат напредвид тези разлики.
Плюс това Delphi има доста изпипан обектен модел и мисля че това е също пречка за подобни бъгове.

Автор:  ДедоБоре [ Вто Дек 26, 2006 3:57 pm ]
Заглавие: 

по-скоро нещата опират до ползване на user32.dll или user32.lib
и дали е бъг или скрита функционалност?

Автор:  Sonic [ Вто Дек 26, 2006 5:25 pm ]
Заглавие: 

ДедоБоре написа:
по-скоро нещата опират до ползване на user32.dll или user32.lib
и дали е бъг или скрита функционалност?


user32.dll си е винаги замесен ... не съм чел кво пишат по темата ... нз...
но май и начина на енкапсулиране от съответния програмен език играе роля - щото виж че с Delphi не минава номера .. .а той си има чудни механичми за прехващане на изключения.
А това - дали има парент при създаването си - мисля че не е от значение - защото NULL и 0 в C са си един дол дренки когато се има предвид целочислен параметър.
Пък и не е проблем парента да не е текущата програма ... но - не съм сигурен какво ще се получи - ако програмата изощо няма главен прозорец , и се вика директно - примерно пишем на не GUI ориентиран редактор - применро borland c++ ... - когато се вика директно създаване на прозорец и т.н. ...

Страница 1 от 3 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/