Die Fehlermeldung sagt aus, dass du allen verfügbaren Speicher aufgebrauchst hast aber noch mehr wolltest.

Es gibt 2 Lösungen:

  • Du schreibst besseren Code, der weniger Speicher verbraucht bzw. einen Logikfehler korrigiert, wo mehr Speicher reserviert wird als gewollt.
  • Du erhöhst den Speicher der JVM, etwa mit dem Wechsel der VM von 32bit zu 64bit oder durch die Optionen bei Ausführung (siehe http://docs.oracle.com/cd/E13222_01/wls/docs81/perform/JVMTuning.html#1109778).

Ich gehe mal davon aus, du bist Anfänger und hast schlechten Code geschrieben, denn so leicht erreicht man die maximale Heap-Größe nicht. Betrachte also erstmal Lösung #1.

...zur Antwort

Ein kleines Batch Skript, welches dir eine Konsolen-Instanz erstellt, welche den Java Pfad gesetzt hat und zu Anfang prüft, ob Compiler & Interpreter verfügbar sind: https://gist.github.com/Youka/2a6c4b82c007e7c528e5

Wenn gemeckert wird, musst du den richtigen Pfad in Zeile 7 angeben.

...zur Antwort

Keine gute Idee. Accounts sind meist an nicht änderbare E-Mails gebunden, unterliegen AGBs die den Weiterkauf verbieten oder die alleinige Nutzungsteilung streng untersagen.

Desweiteren können die alten Nutzer einfach einen Diebstahl melden, dazu geheime (frühere) Daten des Accounts angeben und schon meldet sich der wütende Käufer bei dir.

...zur Antwort

Zum Simulieren einer Tastatureingabe gibt es je nach Plattform Funktionen: Unter Windows (WinAPI) gibt es SendInput, für Unix (XLib) gibt es XTestFakeKeyEvent, für OSX CGEventCreateKeyboardEvent + CGEventPost.

Um allerdings in einem anderen Programm einen Tastendruck zu erkennen, bedarf es sog. Hooks, also eingeschobene Event-Handler in deren Event-Schleife. Ein Beispiel unter Windows: https://github.com/Youka/Quietschi/blob/master/main.c

...zur Antwort

Du kannst es nicht als GIF speichern, weil es keines ist, sondern ein eingebettetes Video (wohl ohne Controls, weshalb du es für ein animiertes Bild hältst). Um es als GIF zu speichern, musst du also erstmal das Video runterladen und dann umwandeln (suche nach "mp4 to gif").

...zur Antwort

Betrachte erstmal die Übersetzung der englischen Begriffe:

Interrupt = Unterbrechung

Exception = Ausnahme


Die Exception stoppt bei Aufkommen einen Ablauf und gibt eine Fehlermeldung an den nächstmöglichen Empfänger zurück. Sie gibt Aufschluss über das Problem, weshalb nicht fortgefahren werden konnte. Ein Beispiel in der Programmiersprache Java:

try{
int x = 1 / 0;
// Hierzu und weiter kommt es nicht
}catch(ArithmeticException e){
System.out.println(e.getMessage());
}

Ausgabe:

/ by zero


Der Interrupt unterbricht für einige Zeit einen Ablauf, um nebenher etwas zu erledigen. So kann z.B. die Tastatur bei Änderung der gedrückten Tasten ein Signal an den PC senden, welcher ein Interrupt durchführt um den Tastatur-Zustand abzufragen, sodass laufende Programme immer die aktuellste Eingabe erfahren. Das Gegenstück zu letzteren Beispiel wäre das Polling, also alle paar Millisekunden die Tastatur abfragen, selbst wenn sich nichts geändert hat - eine ziemliche Verschwendung.

...zur Antwort

Dein Vorschlag ist bereits sehr gut.

Du solltest allerdings element.firstChild benutzen, da deine Variante Textknoten ignoriert. Desweiteren kannst du dir die Variablen ziel, s und content_text sparen und die Werte direkt einfügen.

...zur Antwort
import java.util.regex.*; // Pattern, Matcher

public class Main{
public static void main(String[] args){
final String data = "clid=2 cid=52 client_database_id=3074 client_nickname=Kleopatra|clid=5 cid=52 client_database_id=2401 client_nickname=Paola",
search_pattern = "clid=(\\d+) cid=(\\d+) client_database_id=(\\d+) client_nickname=(.+)";
String[] data_chunks = data.split("\\|");
for(String data_chunk : data_chunks){
Matcher matcher = Pattern.compile(search_pattern).matcher(data_chunk);
if(matcher.find()){
String client_nickname = matcher.group(4);
int clid = Integer.parseInt(matcher.group(1)),
cid = Integer.parseInt(matcher.group(2)),
client_database_id = Integer.parseInt(matcher.group(3));
System.out.format("Client %s has CLID %d, CID %d and belongs to database %d.\n", client_nickname, clid, cid, client_database_id);
}
}
}
}
...zur Antwort

Für das meiste reicht HTML5 + Javascript. Das Audio Objekt (http://www.w3schools.com/jsref/dom_obj_audio.asp) bietet die nötige Audiokontrolle, der Canvas mit 2D Kontext (w3schools.com/canvas/default.asp) die grafische Darstellung. Das Problem sind die im Bild gezeigten grauen Balken, wozu die rohen Audiodaten in Abschnitten analysiert werden müssen, was das Audio Objekt nicht gestattet. Dazu sollte serverseitig ein Programm mit der Audiodatei das gewünschte Bild generieren.

...zur Antwort

Erstmal solltest du genau nachlesen, ob ein Event-Handler (Callback) + Userdata (CallbackData) überhaupt benötigt werden oder auch eine NULL Adresse ausreicht, um das Standardverhalten einzuleiten. Ist eine nutzereigene Routine vonnöten, musst du halt eine dem verlangten Format entsprechende Funktion in B+ schreiben und bei Übergabe sollte die Sprache in der Lage sein, die Parameter entsprechend umzuformulieren - das hat dann aber nur etwas mit der Sprache zu tun, nicht mehr mit der eigentlichen Frage.

(Bitte keine Anfragen mehr per Kompliment, dafür ist diese GF Funktion nicht da und Auftragsarbeiten sind hier sowieso unerwünscht.)

...zur Antwort

Mit Überschreibung des Funktionsnamens in der erbenden Klasse kannst du nicht mehr die Kurzschreibweise verwenden, musst also direkt die Funktion der Basisklasse ansprechen. Wie du es vielleicht schon aus der Definition von Klassenmethoden ausserhalb der Klassendefinition gelernt hast, ist :: (2x Doppelpunkt) die Ansprechart von Klassen- & Namespaceinhalten. Da du die Basismethode in der Klasseninstanz aufrufst, ist this bereits gesetzt und die Basismethode arbeitet mit deiner Instanz.

Den einzelnen Punkt verwendest du für den Element-Zugriff in einer Speicherinstanz, der einzelne Doppelpunkt dient der bedingungsgesteuerten Auswertung oder primären Attributdefinition in Klassenkonstruktoren. Der einfache Funktionsaufruf führt die nächstgelegene Funktion im Scope aus.

...zur Antwort

Für den Anfang bietet sich eine recht hohe Sprache mit einer großen Standard Bibliothek an. Da es um Spieleprogrammierung geht, sollte dennoch eine gute Performance and Objektorientierung dazu gehören. Die erste Wahl fällt dabei für gewöhnlich auf Java, aber auch C# ist eine geeignete Wahl (jedoch mit Einschränkung auf Windows [Mono ist noch nicht so weit]). Ebenfalls spielt Python (mit pypy für JIT Kompilierung) mehr & mehr eine Rolle für Spieleentwickler.

Lass dir nur nicht einreden, es muss C++ sein, diese Sprache ist für professionelle Spieleentwicklung mit Schwerpunkte Performance, die Grundlagen lernst du lieber erstmal woanders.

...zur Antwort

Da ein zufälliger Wert generiert werden soll, schließen sich die statischen Sprachen HTML & CSS aus, die serverseitige Sprache hast du mit der Erwähnung von PHP ausgeschlossen, also bleibt die clientseitige Sprache (=Javascript). Zur Generierung einer Zufallszahl (Fließkomma, 0<=x<1) bietet sich die Funktion Math.random an. Die Hintergrundfarbe möchtest du wahrscheinlich im HTML Body ändern, wozu du DOM verwendest und auf den Body per document.body zugreifst, darüber auf den style und dort dann auf die backgroundColor (siehe Beispiel: http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_doc_body ). Die Farbe lässt sich schließlich als Name, RGB Komponenten oder Hexidezimale Form darstellen ("red" - "rgb(255,0,0)" - "#FF0000").

...zur Antwort

TeeTier hat es bereits gut aus Sicht eines hardwarenahen Programmierers beschrieben, deswegen von mir nur ein paar kleine Zusätze:

Wenn du von Anfang an beabsichtigst, auf mehreren Plattformen zu veröffentlichen, solltest du auch plattformübergreifende Werkzeuge benutzen! Als Compiler wurde bereits GCC/MinGW genannt. Möchtest du den Windows Nutzern allerdings auch mit MSVC dienen, musst du auf die Unterschiede der Compiler achten, heißt, dich beim Code schreiben weiter einschränken und nur die Gemeinsamkeiten nutzen. Vom Build System ist Makefile veraltet, dabei empfiehlt sich CMake heutzutage. Bibliotheken sollten sich auch nicht auf eine Plattform beschränken, wozu es z.B. Boost gibt (allerdings hat der C++11 Standard vieles davon übernommen) und andere für die entsprechenden Aufgaben.

Zum Testen benutze ich eine VM, da eine Festinstallation zu umständlich ist (es sei denn, ich schreibe für Hardware, wie von TeeTier bereits erwähnt), mit Wine hatte ich vor 3 Jahren noch Probleme.

...zur Antwort

Standard Java bzw. AWT & Swing besitzen keine Hide Cursor Funktion, der empfohlene Weg ist das Setzen eines eigenen Mouse Cursors. Siehe dazu: http://docs.oracle.com/javase/7/docs/api/java/awt/Toolkit.html#createCustomCursor%28java.awt.Image,%20java.awt.Point,%20java.lang.String%29

Für die Bewegungserkennung dient ein MouseMotionListener, zur Unbeweglichkeitserkennung kann ein Timer verwendet werden, welcher durch den Listener zurückgesetzt wird.

...zur Antwort

Ich habe zwar ein Vista up-to-date aber meine comctl32 DLL enthält diese Funktion auch nicht, was mich vermuten lässt, dass a) die Funktion wieder rausgepatcht wurde oder b) sie in der Link Bibliothek enthalten ist (also statisch eingefügt wird) und nur intern Funktionen von comctl32 (v6) verwendet.

Ich würde dir eher zum klassischen Weg raten.

...zur Antwort

Ein Enum-Wert und String lassen sich in C++ nicht vergleichen, da Enums bei Kompilierung in Zahlen aufgelöst werden. Reflection bzw. Metaprogrammierung (wie aus Java bekannt) steht nicht zur Verfügung, daher muss ein Umweg eingebaut werden. Mit dem Präprozessor lassen sich Enum & String-Sammlung gleichzeitig generieren.

...zur Antwort

Da Betriebssysteme unterschiedliche Fenster-Systeme verwenden (auch wenn im Design oft sehr ähnlich), hat sich für Java (soweit ich weiß) keiner bisher die Mühe gemacht, eine plattformübergreifende Bibliothek für Window Native Access zu schreiben. Nah ran kommt man allerdings mit der Java Native Access Library: https://github.com/twall/jna . Diese folgt dem FFI (foreign function interface) Prinzip, C Funktionen aus einer DLL zu beziehen und in der eigenen Sprache zu verwenden.

Im folgenden müssen die Betriebssystem-Funktionen für Fenster-Kontrolle eingesetzt werden, um sich dem gewünschten Inhalt zu nähern bis zur Extraktion. Unter Windows: msdn.microsoft.com/en-us/library/windows/desktop/ff468919%28v=vs.85%29.aspx . Für Unix gibt es XLib bzw. GTK, für Mac Carbon bzw. Quartz.

Ein Ablauf kann so aussehen: suche Prozess mit Namen ??? und erhalte Process Handle -> extrahiere mit Process Handle alle Top Window Handles des Prozesses -> wähle Fenster mit Window Title ??? -> extrahiere Handles zu allen Kind Fenstern -> wähle ?tes Fenster mit Klasse Textfield -> extrahiere Textinhalt aus Fenster.

...zur Antwort
  • Das Guthaben kann private sein, da die Kindklassen dessen Definierung an den Konstruktor der Superklasse weitergeben.
  • Destruktoren machen Sinn, wenn Resourcen befreit werden müssen, wie dynamischer Speicher oder andere Klasseninstanzen mit relevanten Destruktor. In deinem Fall liegt alles auf dem Stack, daher sind Destruktoren funktionslos -> unnötig.
...zur Antwort