AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Warum ist ein Boolean so groß?

Ein Thema von Eichhoernchen · begonnen am 25. Okt 2005 · letzter Beitrag vom 26. Okt 2005
Antwort Antwort
Seite 3 von 3     123   
Olli
(Gast)

n/a Beiträge
 
#21

Re: Warum ist ein Boolean so groß?

  Alt 26. Okt 2005, 19:02
Zitat von SMO:
Meinst du das ernst?
Ja.

Zitat von SMO:
Das ist ein doofer alter Mythos. Wir benutzen 100% unseres Gehirns, wenn auch nicht gleichzeitig (CPUs sind ja auch nicht immer zu 100% benutzt/ausgelastet ). Siehe z.B. hier (Deutsch) oder hier (Englisch).
Wer's glaubt. Wenn du da eher irgendwelchen Leuten als dir selber glaubst, kann ich auch nix für ... wenn du natürlich alles nutzt, dann gilt dir mein vollster Respekt.

Zitat von SMO:
Ich glaube nicht, dass es hier ein "Problem" gibt, ich finde diese Diskussion interessant. Oxmyx' Aussage über die Ausrichtung war inkorrekt, was mich dazu angestoßen hat hier teilzunehmen. Ebenso wie mich deine kühne Aussage dazu verleitet hat, nochmal zu antworten.
Oxmyx' Aussage zum Alignment im Record war falsch, stimmt. Aber die Aussage, daß ausgerichtete Strukturen schneller bearbeitet werden war völlig korrekt.
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#22

Re: Warum ist ein Boolean so groß?

  Alt 26. Okt 2005, 19:11
Es war unbedacht formuliert, aber es wusste doch jeder, was ich gemeint hatte.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#23

Re: Warum ist ein Boolean so groß?

  Alt 26. Okt 2005, 19:47
Beispiel: Der Rückgabewert der Win32-API-Funktion GetMessage() ist von Borland 1:1 als BOOL(LongBool) übersetzt worden:function GetMessage(var lpMsg: TMsg; hWnd: HWND; wMsgFilterMin, wMsgFilterMax: UINT): BOOL; stdcall; Der Grund dafür ist relativ ersichtlich, da die Dokumentation besagt, dass die Funktion bei WM_QUIT 0 zurückgibt und anderfalls einen Wert ungleich 0.

Deshalb sehen viele Nachrichtenschleifen von Fenstern so aus:
Delphi-Quellcode:
while GetMessage(Msg, Wnd, 0, 0) do
begin
  // ...
end;
ExitCode := Msg.wParam;
Allerdings besagt die Dokumentation auch, dass in einem Fehlerfall (z.B. ungültiges Fenster-Handle) -1 zurückgegeben wird. Der Code sollte also 'besser' so aussehen (um eine Endlosschleife im Fehlerfall zu vermeiden):
Delphi-Quellcode:
while True do
  case Longint(GetMessage(Msg, Wnd, 0, 0)) of
    0: // WM_QUIT
      begin
        ExitCode := Msg.wParam;
        Break;
      end;
    -1: // ERROR!
      begin
        ExitCode := 42;
        Break;
      end;
  else
    //...
  end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz