Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Escape the Room - Das Delphi-IDE-Spiel (https://www.delphipraxis.net/184340-escape-room-das-delphi-ide-spiel.html)

himitsu 19. Mär 2015 04:22

Escape the Room - Das Delphi-IDE-Spiel
 
Der Quellcode für ein neues VCL-Projekt:
Code:
object Panel1: TPanel
  Left = 96
  Top = 112
  Width = 145
  Height = 97
  Caption = 'Panel1'
  PopupMenu = PopupMenu1
  TabOrder = 1
end
object PopupMenu1: TPopupMenu
  Left = 120
  Top = 136
  object N11: TMenuItem
    Caption = '1'
  end
  object N21: TMenuItem
    Caption = '2'
    OnClick = N21Click
    object N41: TMenuItem
      Caption = '4'
    end
    object N51: TMenuItem
      Caption = '5'
    end
  end
  object N31: TMenuItem
    Caption = '3'
  end
end
Text kopieren und im Form-Designer einfügen (Strg+V ... nicht in der Codeansicht)

und vorher die Methode "N21Click" implementieren oder nachher mit Item "2" verknüpfen.
Delphi-Quellcode:
procedure TForm23.N21Click(Sender: TObject);
begin
  Beep; // hier einen Haltepunkt setzen
end;
Jetzt noch den haltepunkt setzen, F9 drücken, im Programm das Popup öffnen und die Maus über "2" halten...
Das Programm vorher am Besten noch maximieren, so daß dessen Form die IDE verdeckt. (aber eigentlich würde ich ja eher davon abraten, wenn man keinen Spaß haben will :stupid:)



Sooooooooo, jetzt versucht mal mit Alt+Tab in den Debugger zu wechseln, per Task-Manager (wechseln zu) oder per Klick auf die Taskleiste.

Viel Spaß noch.




PS: Das Projekt mit'm Task-Manager abschießen geht nicht, wenn es im Debugger angehalten ist.
Delphi abschießen oder Abmelden, bzw, "Task beenden" im Task-Manager und dann bei der Delphi-Debug-Beenden-Frage und vorallem beim "Soll ich speichern?" ganz schnell ja sagen.
Wenn Windows beim Runterfahren was von "abschießen" fragt, dann abbrechen.

Bekannte Mindestvoraussetzungen:
- XE bis XE7
- Windows 7
- mit oder ohne RDP/TeamViewer dazwischen

Ob es auch in anderen Umgebungenen "funktioniert", kann ich nicht sagen ... aber vielleicht ihr. :-D



ACHTUNG:
Vorher alles Wichtige speichern, nicht daß was verloren geht. :warn:

Daniel 19. Mär 2015 06:59

AW: Escape the Room - Das Delphi-IDE-Spiel
 
Also unter Windows 8.1 geht das Popupmenü zu und man wechselt zur IDE. Und auf Wunsch auch wieder zurück.
Sei es mit ALT-TAB oder über einen Klick unten auf die Taskleiste.

himitsu 19. Mär 2015 07:48

AW: Escape the Room - Das Delphi-IDE-Spiel
 
Is ja fies ... die können dieses Feature doch nicht einfach so ausbauen :stupid:

Aber eigentlich sollte das Menü ja offen bleiben, da das OnClick ausgelöst wird, bevor das Untermenü aufpoppt
und da der Debugger anhält, hat das Programm keine Chance es zuzumachen. (außer Windows behandelt diese Popups in externen Threads :gruebel:)


War jetzt schon ein paar Mal darauf reingefallen, um einen Code zu debuggen, welcher ein Untermenü nachläd, bzw. durch eine Exception in jenem Code.
Besonders gemein, wenn man es nun eigentlich weiß und dann dennoch vergisst die IDE auf den anderen Monitor zu schieben.
Und jetzt, wo ich die Ursache, bzw. den Auslöser fand, konnte ich es auch auf 'nem anderen PC nachstellen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:29 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