Qt5 – TypeError: Property of object is not a function


Beim Kompilieren eines Qt5-Projektes kommt es zu einer Fehlermeldung über einen Aufruf einer Funktion die keine ist. Die Fehlermeldung sieht dann so oder ähnlich aus:

qrc:/main.qml:136: TypeError: Property 'loginButtonClicked' of object MainQMLBackend(0x555555b2afe0) is not a function

Leider ist die Aussage etwas ungenau und irreführend formuliert. Eine Fehlersuche hat ergeben, die aufgerufene Funktion existiert und ist auch richtig implementiert.

React – Image wird nicht angezeigt


In einem React-Projekt werden die Bilder standardmäßig aus dem public-Ordner geladen. Die Image-Pfade werden relativ zu diesem Ordner angegeben. Versucht man ein Bild aus dem src-Verzeichnis zu laden, wird es nicht angezeigt. Die beiden unteren <img>-Elemente sind identisch und laden das Bild public/images/logo192.png, wenn es dort existiert:

<img src="./images/logo192.png" alt="" width="300" height="300" />
<img src="images/logo192.png" alt="" width="300" height="300" />

React-HTML-img [Image]

React Native – Apps für Android und iOS parallel entwickeln


React_Native_ic_launcher_round [Image]Im Jahr 2011 setzte Facebook in seinem Newsfeed zum ersten Mal das von dem Facebook-Softwareingenieur Jordan Walke entwickelte JavaScript-Webframework React ein. Ein Jahr später folgte Instagram. Mitte 2013 wurde das Framework als Open-Source-Projekt veröffentlicht und man hat begonnen an einer nativen Portierung für mobile Android– und iOS-Geräte zu arbeiten. Die erste React Native Version wurde 2015 geboren. Die Bibliothek basiert auf React, nutzt aber kein Virtual DOM zum Rendern der UI-Komponente, sondern manipuliert über die JavaScript Bridge den nativen, plattformspezifischen Code. Java für Android und Objective-C für iOS. Daher werden für jede der beiden Plattformen ihre Entwicklungswerkzeuge aus Android Studio bzw. Xcode und CocoaPods für iOS benötigt.

Diese Entwicklung brachte viele Vorteile für Unternehmen, wie auch einzelne Entwickler. Nur ein einziges Projekt muss gepflegt werden um beide Plattformen zu unterstützen und die Entwickler brauchen nicht unbedingt die Java, Objective-C oder Swift Kenntnisse. Auch Webdesigner und Web-Developer können sich schnell in die Programmierung einarbeiten, da der Code auf den aus der Webentwicklung bekannten Sprachen wie JavaScript, HTML, CSS und JSON für Frontend und PHP oder Python für Backend basiert. Die Entwicklungskosten und der Zeitaufwand werden dadurch enorm reduziert.

HTML – Tabellenbilder responsiv einfügen


Bilder, die als Inhalt einer HTML-Tabellenzelle eingefügt werden, verändern ihre Größe auf unterschiedlich großen Bildschirmen.

HTML-Tabellenzellbild - normal Ansicht
Normale Ansicht

Wird die Bildschirmgröße verkleinert, zum Beispiel auf einem Smartphone, wird das Bild gestreckt.

HTML-Tabellenzellbild - verkleinerte Ansicht
Verkleinerte Ansicht

Dieses Verhalten kann man verhindern und das Bild responsiv als Zelleninhalt oder Hintergrund einfügen.

WordPress-Datenbank-Fehler “Column cannot be null” beheben


WordPress_phpMyAdmin_LogoBetreibt man eine eigene Webseite, sollte man auch zwischendurch die Logdateien des Webhosting-Servers überprüfen. Nicht jeder Provider stellt eine E-Mail-Benachrichtigung im Falle eines Fehlers zur Verfügung. Eine regelmäßige Kontrolle der ERROR-Logs kann somit hilfreich sein, eine sofortige Maßnahme zu ergreifen um den Fehler zu beseitigen.

Die ERROR-Logs erfassen alle aufgetretenen Fehler im Zusammenhang mit der Webseite. Ist eine Seite zum Beispiel nicht erreichbar, wird eine Meldung ausgegeben, dass sie nicht angezeigt werden konnte, weil die Index-Datei fehlt und der direkte Zugriff auf das Verzeichnis verboten ist.

[Tue Apr 23 20:41:25 2019] [autoindex:error] [pid 13438] [client 47.254.xxx.xxx] [host www.technik-tipps-und-tricks.de] AH01276: Cannot serve directory /is/htdocs/wpXXXXXXXXX_XXXXXXXXXX/www/wp-content/uploads/: No matching DirectoryIndex (index.html,index.htm,index.shtml,index.php,index.php5,index.wml,index.xml) found, and server-generated directory index forbidden by Options directive

In dem Beispiel weiter unten wird die Suche und Behebung eines Datenbankfehlers auf einem HostEurope Webserver beschrieben.