Eine PHP Entwicklungsumgebung installieren

Nachdem ich jetzt einen weiteren Auftrag für die Entwicklung eines PHP Skripts erhalten habe, wird es langsam Zeit, sich „häuslich einzurichten“. Soll heißen, es braucht eine sinnvolle PHP Entwicklungsumgebung.

Und zwar eine, in der man sich halbwegs schnell zurechtfindet.
In meinem Fall für Windows 10.

Ich schon einige Erfahrungen mit Eclipse gemacht, und dort gibt es schon eine ziemlich Hürde. Bis man damit gut und schnell umgehen kann, dauert es eine Weil.

Viel besser gefällt mir NetBeans!
Einfach einzurichten und leicht zu bedienen. Obwohl eigentlich für die Entwicklung von Java und JavaScript Programmen gedacht, gibt es mittlerweile Pakete, die speziell als Entwicklungsumgebung für PHP und HTML 5 gedacht sind.
Was ich besonder beeindruckend fand, war die Einbindung des Debuggers. Endlich kann ich ein PHP Skript schrittweise ausführen und mir Variableninhalte ansehen, ohne vorher zwei Tage nach Installationsanleitungen zu suchen.

Also, ans Werk! „Eine PHP Entwicklungsumgebung installieren“ weiterlesen

QT Applikationen starten

Seit einiger Zeit experimentiere ich mit QT auf einem Beaglebone Black (BBB), einem Kleincomputer mit ARM Prozessor, ganz ähnlich einem Raspberry Pi.

Da die aktuelle Version 5.x nicht ohne weiteres auf dem Beaglebone läuft, benutze ich Version 4.8.
Wirklich beeindruckend und wenn man die Entwicklungsumgebung erst einmal zum laufen gebracht hat auch recht luxuriös zu bedienen.

Das Ausführen einer graphischen Testapplikation vom Command Prompt aus scheitert aber erst mal.
D.h. man hat das Executable auf den BBB kopiert und started es mit ./demoprog.

Es passiert ausser einer Fehlermeldung QWSSocket::connectToLocalFile could not connect:: No such file or directory gar nichts.

Des Rätsels simple Lösung: Das Programm mit dem Parameter -qws starten, also etwa /demoprog -qws.

Woran liegt’s?

Sollte ein X-Windows laufen, sollte die Applikation auch ohne den Parameter ausgeführt werden, allerdings im Fenster.
Wenn man, wie ich, keine Ressourcen mit X-Windows verschwenden will, liefert QT ein eigenes graphisches Backend.
Das muss man mit -qws allerdings expliziet starten, ansonsten versucht die Applikation einen QWS Server zu finden, was natürlich prompt scheitert.

 

Tastatur Events an der richtigen Stelle verarbeiten

Mal wieder etwas das man wissen sollte, einen aber Unmengen Zeit kostet wenn man’s nicht weiss.

Folgendes Szenario: Windows Forms Applikation mit einer Listbox.

Ich möchte auf die Page-Up und Page-Down Tasten unabhängig von dieser ListBox auswerten.
Allerdings gehen die KeyDown Events IMMER an die ListBox, die auf ein Page-Down natürlich mit herunterscrollen reagiert, was sie aber nicht soll. Focus auf die Form des Hauptfensters setzen hilft da gar nicht.

Microsoft liefert die Erklärung: Sobald eine Form ein Control wie eine ListBox enthält, gehen die Events ausschliesslich an die Controls. Nur eine Form ohne Controls erhält Key-Events.

Dieses Verhalten zu ändern ist denkbar einfach: Man setzt die Eigenschaft KeyPreview der Form auf True!

„Tastatur Events an der richtigen Stelle verarbeiten“ weiterlesen

MKV Chapter mit directshow auslesen

Da ich ja gerade aus Unzufriedenheit über die erhältlichen hardware Mediaplayer meine eigene Player-Software für meinen Eigenbau-HTPC schreibe, verbringe ich viel Zeit mit der Suche nach Informationen zu directshow. Das hier ist das Ergebnis einer erfolgreichen Suche 😉

Ich spiele mit Vorliebe MKV’s ab. Und da in letzter Zeit immer mehr MKV’s über Chapter / Kapitel verfügen, möchte ich die natürlich auch „anspringen“ können.

Die beim Abspielen involvierten Audio- und Videodecoder wissen von den Kapiteln nichts, das ist Aufgabe des Splitters.
In meinem Fall (wie eigentlich immer) ist das der Haali Media Splitter.
Leider findet man, wann man nicht einem directshow Interface für Chapter sucht, immer wieder Referenzen auf ein Interface namens IChapterInfo.
Dummerweise gibt’s keine Beispiele, nur die Definition des Interfaces. Mangels Erfahrung mit COM bin ich hier nicht weitergekommen.

„MKV Chapter mit directshow auslesen“ weiterlesen