Ich habe eine Combobox die ich zur Laufzeit in einer Zelle eines ListView (Report) erzeuge.
Nun möchte ich ein Tooltip für die Listbox der Combox einbinden.
Wenn ich TOOLINFO tt; tt.lpszText = LPSTR_TEXTCALLBACK; verwende bekomme ich keine Nachricht TTN_NEEDTEXT.
Ich habe sowohl die ListView als auch die Combobox und die Listbox der Combobox subclassed.
Keine dieser Routinen empfängt in WM_NOTIFY eine TTN_NEEDTEXT Nachricht.
Was mache ich falsch? Welches Fenster müsste die TTN_NEEDTEXT Nachricht empfangen?
Zur Info Tooltip funktioniert wenn ich tt.lpszText = (LPSTR)buf; verwende.
Danke für jeden Tip.
Hallo,
ich finde einfach keine Lösung für mein Problem beim Linken. Ich schreibe an einem Projekt, welches auf Windows und Linux gleichermaßen laufen soll. Ich nutze Visual Studio 2019. Kompilieren via remote funktioniert, linken geht schief.
Ich versuche die statische Bibliothek 'libCore.a' zu linken. In den Linkereinstellungen von VisualStudio habe ich bei 'Zusätzliche Bibliotheksverzeichnisse' den Pfad zur 'libCore.a' angegeben. Unter 'Eingabe' habe ich schließlich noch den Namen 'libCore.a' eingegeben.
Schaue ich mir die Kommandozeile in Visual Studio an (Zusammenfassung) sieht alles bestens aus:
-o"...\bin\x64\Debug\LibraryTest-Unix.out" "3600000" -Wl,-z,relro -Wl,-z,noexecstack -Wl,--verbose -Wl,--no-undefined "g++" -l"Core" -Wl,-L"~/.../LibraryTest/../../../Core-Unix/bin/x64/Debug" -Wl,-z,now
Nach langem Suchen haben ich die 'Ausführliche Ausgabe aktiviert", das Logging zeigt mir unter anderem:
1>/DISCARD/ : error : Öffnen von ~/.../bin/x64/Debug/libCore.a ist fehlgeschlagen.
Die Bibliothek ist aber eindeutig in diesem Verzeichnis zu finden. Kann jemand weiterhelfen und mir verraten, was ich falsch mache?
lg Torsten
Ich bin gerade noch beim Umschalten von Real in Protected Mode.
Nachdem man das CR0-Register setzt und damit mitteilt, dass man in den Protected-Mode rübergeht, muss man einen far-jmp (also zu einem anderen Segment machen), wo sich der Code für den Protected-Mode befindet.
Dabei verwendet man beim jmp die Adressstelle des Code-Deskriptors von der GDT. (also GDT_CODE - GDT_START)
Aber das verstehe ich nicht. Der Deskriptor ist doch nur die Beschreibung des Segments und nicht das Segment selber. Ich hätte eher erwartet, dass man die Basisadresse des Codesegments als Hilfe nimmt, um den jmp zu bewerkstelligen.
Weiß da einer bescheid?
Hallo zusammen,
die Bedeutung von DOS gibt's nur noch am Rande. Die Win32-Konsole benutzt ebenfalls die WinAPI, d.h. alle Fragen sind auch dort möglich, falls sich jemand überhaupt noch speziell für die Konsole interessiert.
Daher:
Echte DOS-Fragen - das 16Bit-Ding von damals, letzte Version 6.22 - können auch unter "Rund um die Programmierung" gepostet werden. Soviel kommt ohnehin nicht mehr.
http://www.c-plusplus.net/forum/f8
Wenn jemand noch mal einen alten Turbo C++-Compiler in Gang bringen muß, dann kommt das nach "Compiler und IDEs".
http://www.c-plusplus.net/forum/f3
Fragen zur Konsole unter einem aktuellen Windows - wie XP oder neuer - kommen ab sofort nach WinAPI.
http://www.c-plusplus.net/forum/f4
@Leon0402 Sorry für die späte Antwort, ich habe die letzte Woche nur über's Smartphone mitgelesen und da @hustbaer eigentlich alles zu dem Thema gesagt hat, habe ich mir das frickelige Tippen gespart.
Wir machen es noch etwas anders. Unsere Software ist momentan Windows only und da haben wir eine kleine, nicht so schöne Abhängigkeit drinnen. Das Setup für die normale installierte Version schreibt einen Eintrag in die Registry mit einem Pfad zur Exe. Wenn der Eintrag existiert und mit dem Pfad zur ausgeführten Datei übereinstimmt ist es eine normale installierte Version, ansonsten die Portable.
Bei Debian Distributionen könnte man vlt gucken, ob man via dpkg -L oder dpkg-query das auch über die Pfade erledigen kann.
Aber das ist halt frickelig, da das für alle Distributionen irgendwie anders ist, daher wäre es für Crossplatform wahrscheinlich am einfachsten, wenn das Setup eine Configdatei mit der entsprechenden Information anlegt.
Wir erstellen unsere Setups mit Innosetup [https://jrsoftware.org/isinfo.php] aber das ist halt Windows only. Ich habe mich noch nicht damit auseinander gesetzt, wie man das am geschicktesten als Paket für Linuxdistributionen anbieten würde.
@hustbaer
Danke für die Antworten.
Es funktioniert.
Man muss sich eben erst mehr mit dem Entwicklerwerkzeug (hier: c4droid) vertraut machen.
In den Einstellung gibt es verschiedene Übersetzereinstellung (für Default, gcc, g++, SDL, FLTK, ...).
Wenn man nun eine FLTK-App erstellen möchte erkennt dies das Kompilersystem schon an den eingebundenen Include-Dateien (Bsp.: FL/Fl.H, ...). Damit werden die Übersetzereinstellungen bei Default komplett ignoriert und es greifen die Einstellungen bei FLTK.
Diese FLTK-Modus-Einstellungen müssen wie folgt geändert werden:
-lfltk_images -lfltk_forms -lfltk -shared
Das hier muss gelöscht werden:
,--no-undefined
Dies ist die Fehlerquelle warum es nicht geht.
Auch wenn ich jetzt den selben Fehler begehe; damit andere drauf antworten. Man glaubt es nicht, was für Gespenster umherirren, deren Lustgewinn so vollkommen anders gelagert ist, als wie man es gewohnt ist.
@tomatriga sagte in Visual Studio Konfigurationseinstellungen C/C++ fehlt:
Seltsam, bei mir geht das Bild
Wenn du direkt auf den Link klickst, kommt das:
Error 1011 Ray ID: xxx • 2020-10-13 19:29:29 UTC
Access denied
What happened?
The owner of this website (www.bilder-upload.eu) does not allow hotlinking to that resource (/upload/df1ff1-1602607321.png).
Wenn du die URL kopierst und in einem frischen Tab aufmacht, kommt das Bild.
@Nopsi sagte in Daten aus virtuellem COM Port auslesen:
line = port.ReadLine();
Console.WriteLine(port.ReadLine());
fileStream.WriteLine(line);
das ist immer noch falsch
die Daten aus der Konsolen-Ausgabe landen nicht in deiner Datei (die verschluckst du einfach)
so wäre es richtig
line = port.ReadLine();
Console.WriteLine(line );
fileStream.WriteLine(line);
Ok, damit komm ich auf jeden Fall schon mal ein Stück weiter. Booten kann ich so noch nicht, da kommt die EFI Shell, aber das ist auf jeden Fall ein Fortschritt.
Verstehe.
Bei uns ist das allerdings so, das Client und Server beide von uns kommen und immer die gleichen Versionen/Patches zusammen laufen sollten.
Deshalb war es auch bisher kein Problem mit der gleichen CLSID/AppID. Eine neuere Version hat einfach immer die alte ersetzt.
Beim Kunden läuft daher alles wie gewünscht.
Wir haben nur bei uns Probleme wo wir zu Testzwecken unterschiedliche Versionen auf der gleichen Maschine laufen lassen möchten.
Das hier finde ich gut: https://github.com/espeak-ng/espeak-ng
Ist komplett 'self contained'. Ich verwende es in der Node-JS Version. Unterstützt viele Sprachen und hat einen ausgezeichneten Klang.
Das wird wohl eine Volumenlizenz sein. Ist rechtlich meines Wissens eine Grauzone. Du kaufst vor allem den Key und eben keine Lizenz.
Microsoft sperrt ab und zu wohl immer wieder ein paar, das dürfen die dann auf jeden Fall.
Konsequenzen gibt es ansonsten allerdings eigentlich keine. Ich kenne genug Leute, die die nutzen, weil sie üblicherweise für <10€ erhältlich sind, da ist eine Sperrung auch mal verkraftbar (das ist wohl aber auch selten; Microsoft will ja Nutzer).
Ich selbst habe Windows als Dual Boot noch ohne Aktivierung installiert, dann kannst du halt kein Hintergrundbild einstellen und hast unten rechts in hellgrau immer einen kleinen Hinweis.
Microsoft geht es um die Daten und nicht um die paar Euro von den Lizenzen.