<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[VCL (C++ Builder)]]></title><description><![CDATA[Rund um die VCL (Visual Component Library) und den C++Builder.]]></description><link>https://www.c-plusplus.net/forum/category/21</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 11:44:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/category/21.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 05 May 2002 12:45:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[nicht nur für Anfänger - FAQ Index - Antworten auf häufig gestellte Programmierfragen]]></title><description><![CDATA[Die Top3 der häufig gestellten Fragen:
F: Ich will mein Programm auf einem anderen Rechner laufen lassen, auf dem kein C++Builder installiert ist. Beim Start des Programmes werden haufenweise fehlende DLLs bemängelt.
A: Standalone Exe (Programm weitergeben)
F: Eine Funktion erwartet als Parameter ein char-Array, meine Strings liegen aber alle als AnsiString vor. Wenn ich die übergebe bekomme ich die Fehlermeldung &quot;Cannot convert AnsiString to char*&quot;.
A: AnsiString - nach char* konvertieren
F: Wie kann ich einen AnsiString in einer Datei abspeichern?
A: (nur einer von vielen Wegen)
TStringList *list = new TStringList();
list-&gt;Add(MeinString);
list-&gt;SaveToFile(&quot;c:\\test.txt&quot;);
delete list;

Und jetzt der ganze Rest:
Verschiedenes

&quot;Öffnen mit ...&quot;-Dateiendung festlegen
Assembler mit BCB 5 Standard
Bücher über/für den C++Builder
Delay-/Verzögerungsfunktion
DLL einbinden
E-Mail: Standardprogramm aufrufen, Adresse und Text vorgeben
externes Programm starten
F1004 Interner Compiler-Fehler
FormatFloat und Dezimalpunkt
Hilfe(dateien) für die Office-Komponenten?
Integer gerade oder ungerade?
Links zu BCB-FAQs und Snippet-Sammlungen
math exceptions abfangen (sqrt usw.)
MinimizeName -&gt; Pfadname für Anzeige verkürzen
Mit Return statt Tab zum nächsten Feld wechseln
MonthCalendar -- einzelne Tage fett markieren
PocketPC/WindowsCE
ProgressBar in StatusBar ?
Schleife per Button unterbrechen?
shlobj.h-Problem
Standalone Exe (Programm weitergeben)
Standard-Beep/Pling-Sound unterdrücken
StringList absteigend sortieren (CustomSort)
TColor nach Hex/HTML und zurück
Umgang mit 'Set' (zB. TStringGrid::Options)
URL im Standardbrowser öffnen
Webcam ansprechen
XML mit BCB6 Prof.

ActiveX

Einbindung schlägt fehl

Allgemein

C++BuilderX ab jetzt im Compiler-Forum
Erfahrung mit C++Builder 2006
Informationen zum C++BuilderX
Tools zur Erstellung von Hifedateien

Allgemein: Programmiertipps

dynamic_cast vs. standard cast
Public Variablen sind böse... aber wieso?

Allgemein: Softwareentwicklung

Debuggen?
Hilfe benutzen?

AnsiString

auf einzelne Zeichen zugreifen
in TDateTime wandeln??
nach char* konvertieren
nach 'int' konvertieren
Pfadangaben und Doppelbackslash ('\')

CheckBox

Haken setzen, ohne OnClick auszulösen

CppWebBrowser

&quot;Klasse nicht initialisiert&quot;
(nach)installieren
Enter-Taste funktioniert nicht
Link-URL unter Maus ermitteln
neues Fenster abfangen (NewWindow2)
wie einsetzen?
zur Laufzeit erstellen und anzeigen

Dateien+Verzeichnisse

FileCopy mit SHFILEOPSTRUCT
Löschen über den Papierkorb

Datenbank

Ergebnisse von SELECT verarbeiten
&quot;Fehler beim Erstellen des Cursor-Handle&quot;
&quot;PDOXUSRS.LCK wird von einer anderen .NET Datei kontrolliert&quot;
BDE-Fehlermeldungen
Loginprompt unterdrücken
Tutorial
Variablen in SQL-Statement einfügen

DBGrid

Spaltennamen ändern
Zellenwert xy nach Edit kopieren

Dialoge

Button-Caption der Standarddialoge ändern
Ordnerauswahl mit Zusatzfunktion
Ordnerauswahl

Drucker

auf Vorhandensein prüfen (Exception handling)

Edit

Text rechtsbündig
Zeilenumbruch

Excel

Beispiel und Wrapperklasse für Excelautomation
Daten nach Excel exportieren
Probleme mit Happy's SaveToExcel()

Fataler Fehler

F1013 Fehler beim Schreiben der Ausgabedatei

Forms

ohne Titelleiste verschieben
&quot;Schließen-Kreuz&quot; deaktivieren
Anwendungen im WindowsXP-Stil
auch zusätzliche Forms in der Taskleiste anzeigen
auf der Captionbar Maus-Events abfangen
auf der Captionbar zeichnen
Aussehen selbst/frei gestalten
Datei per Drag and Drop aus dem Explorer empfangen
Fenster aus Dll werden nicht angezeigt.
Image (und andere Controls) per Drag'nDrop verschieben
in den SysTray minimieren
Symbol in der Startleiste(Taskleiste) ausblenden
teildurchsichtige Form
Variablenübergabe an andere Form

Grafik

Bild von TImage löschen
DirectX und BCB
DirectX9 in BCB: Borland-Unterstützung?
JPEG, GIF und PNG
JPG skalieren
OpenGL im BCB
Pfad/Typ von Image-&gt;Picture ermitteln?
TBitmap in TIcon umwandeln

IDE

&quot;feste Fenster&quot; wie in VisualStudio
BCB5-Projekt im BCB4 öffnen
BCB6 erbricht beim Schliessen
BCB6.0 - Zugriffsverletzung in 'bccide.dll'
Debugger überspringt Haltepunkte
eigene Form als Standard
Fehlermeldung &quot;Debugger Kernel not found&quot;
Icons der Komponentenpalette fehlen
Komponenten-Icons falsch dargestellt
Projekte-Verzeichnis einstellen

Indy

Base64-Verschlüsselung
Beispielprojekte?
deinstallieren der Komponenten
DNS Lookup
Fortschrittsanzeige für Downloads
HTTP-Server Portwechsel
HTTP-Server
Mail abholen: Body bleibt leer
Post per TIdHTTP funktioniert nicht

Komponenten benutzen

Bezugsquellen für VCL-/CLX-Komponenten
Control-Caption mehrzeilig
De-/Installation allgemein
Delphi-Komponenten im BCB einsetzen
Delphi-Packages (*.dpk) im BCB
Dynamische Arrays von Komponenten oder Objekten
Sendernamen bei einer OnClick-Prozedur identifizieren
WriteComponent / ReadComponent - Teil2
WriteComponent / ReadComponent - Teil 1
Zugriff, aber nicht durch Namen
zur Laufzeit erstellen, anzeigen und Events zuweisen

Komponenten entwickeln

eigenes Icon für Komponentenpalette
Ereignisbehandlungsroutinen erstellen

Kylix

CLX und Kylix3
Fehler in time.h?
float-Initialisierung
Umlautbehandlung in Form und Source

Lauftext

in Taskleiste à la WinAmp
Ticker

Laufwerke

CD-Wechsel erkennen (TDriveComboBox refresh)
Namen der HD, CD etc ermitteln

Linker error

expected a file name
Illegal option: v
LME 1657
unresolved external

ListBox

automatisch zu neuem Eintrag scrollen
farbige Einträge
horizontaler Scrollbalken
verschiedene Fonts(größen)

MediaPlayer

Fullscreen

Menüs

(Main)Menu in CoolBar/ToolBar

Mouse

Aktionen systemweit abfangen (MouseHook)
Klick simulieren

Netzwerk

&quot;asynchronous socket error&quot; bei TClient/TServerSocket abfangen
IP-Addresse(n) und Hostnamen des Rechners ermitteln
MAC Adresse auslesen/überschreiben
Namen aller Rechner im lokalen Netzwerk anzeigen
NMHTTP-&gt;Post geht nicht
Protokollentwicklung / Grosse Datenmengen versenden

Registry

SaveKey/ReadKey

RichEdit

Drag und Drop
Grafiken darstellen (und andere erweiterte Features)
Syntax Highlighting
zum Textende scrollen / in bestimmte Zeile springen

Schnittstellen

LPT Port unter 2000/XP
Seriell unter Win 2000
USB zu RS232/Seriell

Screenshot

Version 1
Version 2

Scrollbalken

ein-/ausblenden

StringGrid

&quot;OnScroll&quot; implementieren
Auswahl aufheben
farbige Zellen/Zeilen
komplett abspeichern/einlesen
komplett leeren
sortieren I
sortieren II
Zeilen und Spalten löschen/einfügen

System

Aktive Prozesse auslesen
Genaue Zeitmessung
Message für Windows-Shutdown abfangen
Namen des NT-Users auslesen
PC-Lautsprecher (Speaker) unter Windows
Text an fremde Fenster senden
Window-Messages abfangen im BCB
Windows Version ermitteln
Windows(2000) beenden

Tasten

Strg-Alt-Entf etc. deaktivieren
systemweit abfangen (Hooks)
Systemweite Hotkeys à la ICQ
Tastendruck simulieren

Treeview

Ebene ermitteln

Webanwendungen

WebBroker/ WebSnap und der Apache

Gesamt: 41 Kategorien, 185 Einträge
]]></description><link>https://www.c-plusplus.net/forum/topic/39305/nicht-nur-für-anfänger-faq-index-antworten-auf-häufig-gestellte-programmierfragen</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/39305/nicht-nur-für-anfänger-faq-index-antworten-auf-häufig-gestellte-programmierfragen</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Sun, 05 May 2002 12:45:00 GMT</pubDate></item><item><title><![CDATA[C++Builder 12 CE Projekt öffnen fehlt]]></title><description><![CDATA[Nur aus Interesse:
Hat wer diese Version ( C++Builder 12 Community Edition) auf seinem Rechner installiert? Wenn ja, dann könnte die Version mit meinem Win11 nicht kompatibel sein, oder sonst was. Wenn nein, dann ist das Ding wohl fehlerhaft.
]]></description><link>https://www.c-plusplus.net/forum/topic/355440/c-builder-12-ce-projekt-öffnen-fehlt</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355440/c-builder-12-ce-projekt-öffnen-fehlt</guid><dc:creator><![CDATA[RudiMBM]]></dc:creator><pubDate>Mon, 16 Feb 2026 15:13:34 GMT</pubDate></item><item><title><![CDATA[TEdit - Eingabe erzwingen bzw. abwarten]]></title><description><![CDATA[@Th69
Ich glaube, TE hat seinen Code einfach sinngemäß gepostet und frei Schnauze getippt. Die Funktionssignaturen passen alle nicht (sollten Member sein, Rückgabetyp fehlt).
Bin fasziniert von Leuten, die auch nach Nachfrage keinen konkreten Code posten, sondern einfach irgendwas in's Forum schreiben, das grob was mit dem Thema zu tun hat.
]]></description><link>https://www.c-plusplus.net/forum/topic/355373/tedit-eingabe-erzwingen-bzw-abwarten</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355373/tedit-eingabe-erzwingen-bzw-abwarten</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Tue, 14 Oct 2025 06:54:21 GMT</pubDate></item><item><title><![CDATA[Edit nur Stellen auslesen]]></title><description><![CDATA[Edit2-&gt;Text = Edit1-&gt;Text.SubString(1,2);

Mehr wäre es nicht gewesen.
]]></description><link>https://www.c-plusplus.net/forum/topic/355215/edit-nur-stellen-auslesen</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355215/edit-nur-stellen-auslesen</guid><dc:creator><![CDATA[Gestalt]]></dc:creator><pubDate>Wed, 23 Jul 2025 22:49:36 GMT</pubDate></item><item><title><![CDATA[Subversion Information in C++ Builder Projekt Version Informationen übernehmen]]></title><description><![CDATA[Hallo,
ich benutze Subversion zur Versionsverwaltung. Früher habe ich Visual Studio benutz. Dort konnte man die Versionsinformationen mit einem Template erstellen. Einige der Informationen konnten dann direkt aus Subversion überniommen werden, wie zum Beispiel $WCREV (Revision Buildnummer), das Datum der letzten Sicherung. Diese Informationen konnten dann in die Version Informationen des Projektes übernommen werden und wurden für die Erstellung der EXE Datei benutzt. Ist sowas auch in C++ Builder möglich ? Mir würde die Übernahme der SVN Revisionsnummer schon reichen.
Hat da jemand eine Idee ?
Danke und Grun
Sven
]]></description><link>https://www.c-plusplus.net/forum/topic/355216/subversion-information-in-c-builder-projekt-version-informationen-übernehmen</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355216/subversion-information-in-c-builder-projekt-version-informationen-übernehmen</guid><dc:creator><![CDATA[Svennie89]]></dc:creator><pubDate>Mon, 17 Mar 2025 18:16:46 GMT</pubDate></item><item><title><![CDATA[TDataModule und TThreads, Multithreading]]></title><description><![CDATA[TDataModule und TThreads, Multithreading
Ich versuche hier gerade eine alte Anwendung auf Multithreading umzustellen. Es wird 3 Threads geben, die auf die Datenbank zugreifen. Wie mache ich das am sinnvollsten? Mache ich das TDataModule threadsicher (ziemlicher Aufwand), oder (viel einfacher) erstelle ich in jedem Thread eine eigene Instanz des TDataModules. Oder erstelle ich gar für jeden Thread ein eigenes TDataModule. Die Threads wären jeweils für unterschiedliche Bereiche zuständig, greifen aber alle auf dieselben Tabellen in der Datenbank zu und die Queries wären teilweise identisch (was dann bei jeweils einem eigenem TDataModule zu höherem Wartungsaufwand führt).
Falls es relevant ist: Schreiben würde nur ein Thread, die anderen würden nur Lesen.
Jeweils eine Instanz des TDataModule für jeden Thread scheint mir das sinnvollste zu sein. Da Mulitthreading aber relatives Neuland für mich ist, möchte ich fragen, ob mir mit dieser Vorgehensweise Probleme einhandele. Schließlich habe ich dann nicht mehr eine Verbindung zur Datenbank, sondern gleich drei. Aber wichtiger ist, kommen die sich irgendwie ins Gehege? Sollte meinem Verständnis nach nicht der Fall sein, da ja jeweils eigene Instanzen.
Oder handele ich serverseitig Probleme ein (MS-SQL-Server 2019)?
Und wenn ich schon dabei bin:
Spricht irgendetwas dagegen, ein Objekt im Thread zu erzeugen und im VCL-Thread zu löschen? Da ich Synchronize() nicht mag, wollte ich die Threads so anlegen, dass sie auf Events reagieren und eine Windowsmessage an die Application senden, wenn sie die Arbeit erledigt haben und die Daten abholbereit sind. Ich würde dann nur den Zeiger übernehmen und in einen Container im VCL-Thread legen. Soweit ich das verstehe, ist das kein Problem, da die Threads (inkl. des VCL-Threads) alle im gleichen Prozessraum liegen.
Und ja, auch wenn Multithreading Neuland für mich ist, ist mir klar, dass ich Synchronisierungsobjekte benötige. Ich weiß nur noch nicht, ob die VCL-internen (TCriticalSection, TMultiReadExclusiveWriteSynchronizer) nehme, oder die aus der WinAPI (CriticalSection, Slim Reader/Writer). Hat jemand Erfahrung mit den VCL-internen? Sind die brauchbar, oder sollte ich direkt auf die WinAPI-Pendants zurückgreifen.
]]></description><link>https://www.c-plusplus.net/forum/topic/355212/tdatamodule-und-tthreads-multithreading</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355212/tdatamodule-und-tthreads-multithreading</guid><dc:creator><![CDATA[Killer-Kobold]]></dc:creator><pubDate>Sat, 08 Mar 2025 15:29:37 GMT</pubDate></item><item><title><![CDATA[Projekt erstellen geht nicht]]></title><description><![CDATA[@Burkhi sagte in Projekt erstellen geht nicht:

Letztens hatte ich einen Auftrag von einen Kunden bekommen, der beinhaltete, den Mitarbeitern seiner Firma Assemblersprache sowie die grundsätzliche Arbeitsweise eines Computer beizubringen.

Kleine Anekdote von meiner Studienzeit:
Unsere Aufgabe war damals einen 4 Kern Prozessor zu entwickeln und zu simulieren. Wir hatten hierzu eine Simulationssoftware und haben den Prozessor zusammengeclickt. Hatte Spaß gemacht.
Das lustige war aber dass ein Kollege einen Hiwi Job hatte und Zugang zu einem DIN A0 Drucker. Also hat er den Plan auf DIN A0 ausgedruckt und vor der Vorlesung dem verdutzten Professor übergeben.

Eine weitere Anekdote: Wir durften mal eine Gleitkommaoperation nachprogrammieren ohne die FPU zu nutzen. Ausgedruckt mit kleiner Schiftgröße gab diese eine Seite voll mit Buchstabensalat. Das hat kein Hiwi kontrolliert. :-&gt;
]]></description><link>https://www.c-plusplus.net/forum/topic/355203/projekt-erstellen-geht-nicht</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355203/projekt-erstellen-geht-nicht</guid><dc:creator><![CDATA[Quiche Lorraine]]></dc:creator><pubDate>Thu, 20 Feb 2025 07:18:02 GMT</pubDate></item><item><title><![CDATA[Linker-Fehler bei TDataModule]]></title><description><![CDATA[@DocShoe Herzlichen Dank, das hat das Problem gelöst.
]]></description><link>https://www.c-plusplus.net/forum/topic/355205/linker-fehler-bei-tdatamodule</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355205/linker-fehler-bei-tdatamodule</guid><dc:creator><![CDATA[Killer-Kobold]]></dc:creator><pubDate>Wed, 19 Feb 2025 09:12:54 GMT</pubDate></item><item><title><![CDATA[gRPC cmake Probleme]]></title><description><![CDATA[So....
Einen Schritt weiter gekommen, die Doku von Embarcadero war für eine andere RAD Studio Version und ungenau. Es reicht nicht aus, die in Schritt 2) aufgelisteten Anpassung durchzuführen, man musste auch noch zwei weitere Dateien aus anderen Verzeichnissen in das entsprechende cmake Verzeichnis kopieren. Danach ist cmake durchgelaufen und hat das Ninja-Buildscript erzeugt. Der Buildprozess bricht jetzt aber mit C++ Fehlern ab, da muss man mal schauen, ob und wie wir die in den Griff kriegen.
Edit:
Embarcadero hat den clang compiler v3.3 (oder inzwischen sogar v5?) angepasst, damit der ihre Delphi Konstruktionen versteht und übersetzt. Embarcadero liefert .cmake Dateien für ihren Compiler mit, damit cmake den erkennt (siehe oben, Schritt 2).
]]></description><link>https://www.c-plusplus.net/forum/topic/355190/grpc-cmake-probleme</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355190/grpc-cmake-probleme</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 22 Jan 2025 15:23:46 GMT</pubDate></item><item><title><![CDATA[Wie bekomme ich 1 ausführbare EXE aus C++ Builder FMX Projekt]]></title><description><![CDATA[Herzlichen Dank - die Einstellungen waren hilfreich und funktionieren auch unter FMX 
Jetzt ist &quot;alles&quot; eine &quot;exe&quot; und gut is 
]]></description><link>https://www.c-plusplus.net/forum/topic/355150/wie-bekomme-ich-1-ausführbare-exe-aus-c-builder-fmx-projekt</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355150/wie-bekomme-ich-1-ausführbare-exe-aus-c-builder-fmx-projekt</guid><dc:creator><![CDATA[Stefaness]]></dc:creator><pubDate>Tue, 03 Dec 2024 11:06:34 GMT</pubDate></item><item><title><![CDATA[TrueType font Monaco im C++Builder Editor?]]></title><description><![CDATA[@Finnegan sagte in TrueType font Monaco im C++Builder Editor?:

Es könnte allerdings auch irgendwo eine gepatchte Variante der TTF geben, die dann als Monospace erkannt wird.

Mit FontForge kann man Fonts selbst bearbeiten und z.B. von PS nach OTF konvertieren. Eigenschaften der Fonts bearbeiten und wenn man die Muße hat, auch selbst Fonts erstellen.
]]></description><link>https://www.c-plusplus.net/forum/topic/355148/truetype-font-monaco-im-c-builder-editor</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355148/truetype-font-monaco-im-c-builder-editor</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Wed, 27 Nov 2024 11:55:44 GMT</pubDate></item><item><title><![CDATA[Auf protected Member der Basisklasse zugreifen?]]></title><description><![CDATA[Klar kann man in C++ protected Zeugs einer Basisklasse public machen. Mit using:
class Base {
protected:
    int prot = 0;
};

class Der : protected Base {
public:
    using Base::prot; // &lt;-- hier
};

int main() {
    Der d;
    d.prot++;
    return d.prot;
}

Man kann damit auch public Zeugs der Basisklasse protected oder private machen. Wobei man das natürlich leicht umgehen kann, man muss ja nur auf ne Basisklassen-Referenz casten, und kann dann über die Basisklassen-Referenz trotzdem zugreifen. Kann aber praktisch sein wenn man zumindest Fehlverwendung durch Unachtsamkeit reduzieren will.
p.S.: Das löst natürlich das originale Problem nicht, ist mir klar. Ist nur ne Antwort auf
@DocShoe sagte in Auf protected Member der Basisklasse zugreifen?:

. Font ist ein protected Property von TControl, das in abgeleiteten Klassen mit dem __published Schlüsselwort wieder sichtbar gemacht wird. Sowas gibt`s in C++ nicht, und man kann auch nicht auf protected Elemente zugreifen.

]]></description><link>https://www.c-plusplus.net/forum/topic/355144/auf-protected-member-der-basisklasse-zugreifen</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355144/auf-protected-member-der-basisklasse-zugreifen</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 27 Nov 2024 00:22:16 GMT</pubDate></item><item><title><![CDATA[Erfahren Sie, ob mein Mobiltelefon mit dem Internet verbunden ist.]]></title><description><![CDATA[Hallo
mit arbeiten Firemonkey c++ builder, und ich muss wissen, ob mein Mobiltelefon mit dem Netzwerk verbunden ist.
Wenn ich Folgendes umsetze :
#if defined (_PLAT_ANDROID)
 
  _di_JObject obj ; 
  _di_JWifiManager wm ; 
  _di_JIntent MiPhp ; 
  _di_JWifiInfo wi ;
 
  obj = SharedActivityContext ( ) -&gt; getSystemService ( TJContext :: JavaClass -&gt; WIFI_SERVICE ) ; 
  wm = TJWifiManager :: Wrap ( ( ( _di_ILocalObject ) obj ) -&gt; GetObjectID ( ) ) ;
 
 if ( wm -&gt; isWifiEnabled ( ) ) 
   {
             ......
   }
 
#endif

Ich weiß, dass mein Telefon über WLAN verbunden ist.
¿Wie kann ich feststellen, ob mein Telefon über mobile Daten verbunden ist?.
Danke.
]]></description><link>https://www.c-plusplus.net/forum/topic/355114/erfahren-sie-ob-mein-mobiltelefon-mit-dem-internet-verbunden-ist</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355114/erfahren-sie-ob-mein-mobiltelefon-mit-dem-internet-verbunden-ist</guid><dc:creator><![CDATA[Drummer1972]]></dc:creator><pubDate>Thu, 24 Oct 2024 08:15:04 GMT</pubDate></item><item><title><![CDATA[#include: Linkerverzeichnisse bestimmen.]]></title><description><![CDATA[@amp-null-gt-Hallo sagte in #include: Linkerverzeichnisse bestimmen.:

libjpeg-turbo-gcc64

Gleich vorweg: Das wird sehr wahrscheinlich nicht mit Visual Studio funktionieren, da sich die Bibliotheken in diesem Paket nur in Form von .a-Archiven befinden. Mit denen kann der MSVC-Linker (link.exe, der Linker von Visual Studio) nichts anfangen (falls sich da in der letzten Zeit nicht etwas überraschendes getan haben sollte).
Du benötigst Bibliotheken für Visual Studio, das sind z.B. hier die *-vc.exe und *-vc64.exe Dateien.
Mit direkten Projektmappen-Einstellungen habe ich Ewigkeiten nicht mehr gearbeitet, da ich sowas alles mit CMake mache. Ich kann dir aber dazu ein paar generische Tips geben, die mit jedem Compiler funktionieren sollten:
Include-Verzeichnisse werden bei so ziemlich allen Compilern mit dem Kommandozeilenparameter -I&lt;verzeichnis&gt; hinzugefügt (beim MS-Compiler meist mit /I&lt;verzeichnis&gt;, der versteht aber auch -). Da müsste es in der IDE irgendwo eine Einstellung &quot;Additional Include Directories&quot; für das Projekt geben, mit denen diese Parameter zur Compiler-Kommandozeile hinzugefügt werden. Es empfiehlt sich, für das Verzeichnis eine der Variablen zu verwenden, die z.B. hier aufgelistet sind. Z.B. wäre $(ProjectDir)/3rdparty/libjpeg-turbo/include eine simple Lösung für den Anfang und dann libjpeg-turbo in den Unterordner 3rdparty/libjpeg-turbo unterhalb deines Projektordners kopieren.
Mit den Bibliothek-Dateien (.lib) verhält es sich ähnlich: Hier ist der Parameter für ein Bibliotheks-Suchverzeichnis  -L&lt;verzeichnis&gt;. In der IDE ist das wahrscheinlich eine Option, die &quot;Library Search Paths&quot; oder so ähnlich heißt. Der Eintrag sollte dann z.B. auf $(ProjectDir)/3rdparty/libjpeg-turbo/lib verweisen.
Dann musst du der IDE noch verklickern, dass die Bibliothek(en) dann auch tatsächlich gelinkt werden sollen. Dazu werden die .lib Dateien bei MSVC meines Wissens einfach nur an die Kommandozeile des Linkers angehängt (nach deiner Quellcodedatei oder der kompilierten Objektdatei, die diese Bibliothek verwendet - die Bibliotheksabhängigkeiten sollten in der Kommandozeile immer nach den Objektdateien oder Bibliotheken kommen, die auf diese Abhängigkeit angewiesen sind. Das ist manchmal z.B. bei Bibliotheken wichtig, die selbst wieder auf andere Bibliotheken angewiesen sind). In der IDE ist das wahrscheinlich &quot;Additional Libraries&quot; oder sowas. Der Compiler gibt diese Parameter üblicherweise an den Linker weiter und der sucht dann in den mit -L angegebenen Bibliotheksverzeichnissen nach den genannten Dateien und linkt diese mit.
]]></description><link>https://www.c-plusplus.net/forum/topic/355105/include-linkerverzeichnisse-bestimmen</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355105/include-linkerverzeichnisse-bestimmen</guid><dc:creator><![CDATA[Finnegan]]></dc:creator><pubDate>Sat, 12 Oct 2024 11:40:40 GMT</pubDate></item><item><title><![CDATA[Bug in Komponente beheben (Komponente neu compilieren)]]></title><description><![CDATA[Soweit so gut. Die Original BPLs hab ich (auch gleich mal gesichert). Ich hab nun ein neues C++ Package-Projekt angelegt, dort alle .pas Dateien importiert, in den Settings die Dinge aus dem dpk eingestellt, doch beim Versuch zu compilieren kommt jetzt ne Meldung, die ich nicht genau interpretieren kann. Da heißt es:
Bevor dieses Package compiliert werden kann, müssen folgende Änderungen vorgenommen werden. 
Wählen Sie OK, um diese Änderungen zu übernehmen und fortzufahren:

RzPanel, RzRadGrp, [...] entfernen. 
Es wurden die Units RzPanel, RzRadGrp [...] im benötigten Package RaizeComponentsVcl gefunden.

Heißt das , dass diese Komponenten deinstalliert und dann mit meiner neuen Version überschrieben werden oder will der meine Units aus dem Package streichen und mit den Original-Files verlinken? Aber dann wären meine Korrekturen ja nicht mit drin. Die Hilfe sagt dazu nur: &quot;Fügt Ihrem Package die erforderlichen Units hinzu. Dies geschieht, da das Package eine oder mehrere Units verwendet, die in einem anderen Package gefunden wurden.&quot; Also vermute ich eher der verlinkt das mit der &quot;alten&quot; Version. Kann der mir nicht einfach ein bpl raus rechnen? Er soll damit ja gar nichts tun 
Ich hatte noch gesehen, dass der Entwickler sogar ein Script beigelegt hat zum neu Compilieren. Aber da hab ich mich zu früh gefreut, denn die Community Edition unterstützt anscheinend keinen Aufruf aus der Kommandozeile. 
Vllt sollt ich die einfach als andere Komponente deklarieren und separat installieren, damit der keine Namensprobleme hat, aber eigtl ist's ja nur nen Bugfix und keine neue Komponente. Nur ich will mir auch nicht alles zerschießen  und verstehen würd ichs auch gerne...
]]></description><link>https://www.c-plusplus.net/forum/topic/355101/bug-in-komponente-beheben-komponente-neu-compilieren</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355101/bug-in-komponente-beheben-komponente-neu-compilieren</guid><dc:creator><![CDATA[drummi]]></dc:creator><pubDate>Wed, 09 Oct 2024 23:33:24 GMT</pubDate></item><item><title><![CDATA[FormCreate kommt zuerst Warum?]]></title><description><![CDATA[Okay sry 
Kommt nicht mehr vor!
]]></description><link>https://www.c-plusplus.net/forum/topic/355037/formcreate-kommt-zuerst-warum</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355037/formcreate-kommt-zuerst-warum</guid><dc:creator><![CDATA[Rave1703]]></dc:creator><pubDate>Wed, 21 Aug 2024 08:56:22 GMT</pubDate></item><item><title><![CDATA[Beim TMemoryStream EAccessViolation -&gt; Zugriffsverletzung]]></title><description><![CDATA[Ich idi durch die ganze Sache mit dem Neuen Rechner dache ich das es am Rechner liegt.
Hätte ich auch darf kommen können, da ich ein Test mit 11 Byte gemacht habe da hat es funktioniert und
bei ca. 2000 Byte kam der Fehler.
Aber trozdem ... Danke dir
]]></description><link>https://www.c-plusplus.net/forum/topic/354734/beim-tmemorystream-eaccessviolation-zugriffsverletzung</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354734/beim-tmemorystream-eaccessviolation-zugriffsverletzung</guid><dc:creator><![CDATA[Rave1703]]></dc:creator><pubDate>Wed, 10 Jul 2024 18:52:10 GMT</pubDate></item><item><title><![CDATA[Arbeiten mit unterschiedlichen c++builder Versionen]]></title><description><![CDATA[@Th69 Die Sache mit const habe ich ausprobiert, aber dann hat meine Textausgabe nicht mehr funktioniert. Das Makro wäre eine schnelle und einfache Änderung gewesen, aber ich habe mich jetzt für das Auskommentieren entschieden. Ist auch nicht so viel Aufwand. Definitiv ist aber, dass beim Anlegen der OnDrawCell Methode weder bei der Version 11 noch bei der 12er Version vom OI ein const gesetzt wird, das muss manuell gemacht werden. Nochmals vielen Dank für deine Hilfe.
]]></description><link>https://www.c-plusplus.net/forum/topic/354656/arbeiten-mit-unterschiedlichen-c-builder-versionen</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354656/arbeiten-mit-unterschiedlichen-c-builder-versionen</guid><dc:creator><![CDATA[Ronco]]></dc:creator><pubDate>Thu, 06 Jun 2024 05:39:31 GMT</pubDate></item><item><title><![CDATA[Die Krux mit den dll-Pfaden (Nutzung von Abhängigkeiten in Unterverzeichnis zur Laufzeit)]]></title><description><![CDATA[@DocShoe Danke für den Typ, scheint aber leider wohl nicht in Zusammenhang mit den .net Assemblies sauber zu laufen...
Dann werden eben Teile doppelt ausgeliefert... xD
]]></description><link>https://www.c-plusplus.net/forum/topic/354619/die-krux-mit-den-dll-pfaden-nutzung-von-abhängigkeiten-in-unterverzeichnis-zur-laufzeit</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354619/die-krux-mit-den-dll-pfaden-nutzung-von-abhängigkeiten-in-unterverzeichnis-zur-laufzeit</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 12 Apr 2024 13:16:15 GMT</pubDate></item><item><title><![CDATA[TLabel zeigt kein &quot;&amp;&quot;-Zeichen an]]></title><description><![CDATA[Das gibt es beim TSpeedButton nicht, aber es wird generell in Caption beschrieben, daß man dann eben &amp;&amp; dafür benutzen muß:

Um ein Ampersandzeichen in der Beschriftung anzuzeigen, geben Sie zwei Ampersands (&amp;&amp;) an.

]]></description><link>https://www.c-plusplus.net/forum/topic/354594/tlabel-zeigt-kein-zeichen-an</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354594/tlabel-zeigt-kein-zeichen-an</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Tue, 02 Apr 2024 07:46:44 GMT</pubDate></item><item><title><![CDATA[VCL Form zur Laufzeit austauschen]]></title><description><![CDATA[Da du targetForm (nur) als TForm deklariert hast, ist dort kein Member Edit1 bekannt.
Du müßtest eine gemeinsame Basisklasse (Basisform) für beide Forms erstellen, welche dann die Member besitzt, die du von außen ansprechen möchtest.
Unterscheiden sich denn beide Forms so sehr, daß du 2 benötigst, anstelle in der vorhandenen das Design programmiertechnisch zu wechseln?
Edit:
Es ginge auch noch per Codewiederholung:
if (useForm2)
{
  Form2-&gt;Edit1 = &quot;blabla&quot;;
  targetForm = Form2;
}
else
{
  Form3-&gt;Edit1 = &quot;blabla&quot;;
  targetForm = Form3;
}

targetForm-&gt;Show();

Dies ist aber eher ein schlechter Workaround.
PS: Verwende bitte Code-Tags bei deinen Beiträgen.
]]></description><link>https://www.c-plusplus.net/forum/topic/354583/vcl-form-zur-laufzeit-austauschen</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354583/vcl-form-zur-laufzeit-austauschen</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Thu, 07 Mar 2024 15:31:11 GMT</pubDate></item><item><title><![CDATA[Keine Adressen Fehler!!!]]></title><description><![CDATA[Danke euch
]]></description><link>https://www.c-plusplus.net/forum/topic/354572/keine-adressen-fehler</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354572/keine-adressen-fehler</guid><dc:creator><![CDATA[Rave1703]]></dc:creator><pubDate>Mon, 04 Mar 2024 14:14:14 GMT</pubDate></item><item><title><![CDATA[Selektierten Bereich in einem Excel-Arbeitsblatt mit OleAutomation auf Währung festlegen]]></title><description><![CDATA[Habs hinbekommen, Select ist nicht notwendig und WideString war der Knackpunkt.
	MyWS.OlePropertyGet( &quot;Range&quot;, &quot;B5:N12&quot; ).
		OlePropertySet( &quot;NumberFormat&quot;, WideString(&quot;#.###.##0,00 €&quot;) );


]]></description><link>https://www.c-plusplus.net/forum/topic/354522/selektierten-bereich-in-einem-excel-arbeitsblatt-mit-oleautomation-auf-währung-festlegen</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354522/selektierten-bereich-in-einem-excel-arbeitsblatt-mit-oleautomation-auf-währung-festlegen</guid><dc:creator><![CDATA[Ronco]]></dc:creator><pubDate>Sat, 03 Feb 2024 12:38:37 GMT</pubDate></item><item><title><![CDATA[TDateTime zu POSIX]]></title><description><![CDATA[@firefly
Nur zur Vollständigkeit:
Ich kann die TDateTime local time über die C-runtime in den korrekten UTC Zeitstempel konvertieren, wenn das in der gleichen Zeitzone passiert, in der das TDateTime Objekt erzeugt wurde:
TDateTime dt = Now();

std::tm tm = { 0 };
tm.wYear = YearOf( dt );
tm.wMonth = MonthOf( dt );
tm.wDay = DayOf( dt );
tm.wHour = HourOf( dt );
tm.wMinute = MinuteOf( dt );
tm.wSecond = SecondOf( dt );
std::time_t const posix = std::mktime( &amp;tm );

Was mich an der ganzen Sache nervt sind zwei Dinge:

DateTimeToUnix verhält sich anders als erwartet
wenn man DateTimeToUnix so benutzt, dass es das tut, was man erwartet, dann funktionierts für manche gültige Zeitstempel nicht und wirft eine Exception.

]]></description><link>https://www.c-plusplus.net/forum/topic/354502/tdatetime-zu-posix</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354502/tdatetime-zu-posix</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Fri, 26 Jan 2024 09:53:49 GMT</pubDate></item><item><title><![CDATA[TxT datei entschlüsseln&#x2F;umschreiben]]></title><description><![CDATA[@Quiche-Lorraine danke
]]></description><link>https://www.c-plusplus.net/forum/topic/354472/txt-datei-entschlüsseln-umschreiben</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354472/txt-datei-entschlüsseln-umschreiben</guid><dc:creator><![CDATA[Mali]]></dc:creator><pubDate>Tue, 23 Jan 2024 16:34:19 GMT</pubDate></item><item><title><![CDATA[IDE vergibt unterschiedliche Adressen für dasselbe Objekt]]></title><description><![CDATA[Ich habe gelernt, bei C++ Konstruktor und Destruktor anstelle von OnCreate und OnDestroy zu verwenden. Die Embarcadero-Hilfeseite ist leider immer noch offline, bei Stackoverflow findet man diesbezüglich aber Hinweise anerkannter Experten.
C++ Builder Lifetime of Static Class Property/Variable of a dynamicly created form?
&quot;That being said, you should not be using the TForm::OnDestroy (or OnCreate) event in C++ to begin with. They are Delphi idioms that can cause undefined behavior in C++, as Delphi and C++ use different object creation/cleanup semantics. The OnDestroy event can occur after your C++ destructor (and the OnCreate event can occur before your C++ constructor). So, in C++, always use your TForm's actual destructor (and constructor) instead.&quot;
Deleting dynamically created component?
&quot;On a side note: you should NOT use the Form's OnCreate and OnDestroy events in C++Builder. They are a Delphi idiom that can lead to undefined behavior in C++ if you are not careful. OnCreate can fire before your Form's constructor, and OnDestroy can fire after your Form's destructor. As such, you should use the Form's actual constructor and destructor instead.&quot;
]]></description><link>https://www.c-plusplus.net/forum/topic/354489/ide-vergibt-unterschiedliche-adressen-für-dasselbe-objekt</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354489/ide-vergibt-unterschiedliche-adressen-für-dasselbe-objekt</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Mon, 22 Jan 2024 07:53:01 GMT</pubDate></item></channel></rss>