AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Daten von C nach PAS und PAS nach C ...
Thema durchsuchen
Ansicht
Themen-Optionen

Daten von C nach PAS und PAS nach C ...

Ein Thema von paule32.jk · begonnen am 30. Jul 2024 · letzter Beitrag vom 31. Jul 2024
 
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
371 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Daten von C nach PAS und PAS nach C ...

  Alt 31. Jul 2024, 15:26
Hallo,

ich habe gerade hier nachgesehen: Delphi PChar -> C++

dort wird PChar als PWideChar deklariert.

Ich hatte das noch von früheren Delphies und C plus'sers in Erinnerung, das jeweils unter Delphi und C/C++ ein PChar einen char* entsprach - also beide die gleiche Bitbreite hatten. In modernen Sprachen, habe ich gerade mitbekommen, das PChar unter C++ tatsächlich 8-Bit entsprechen und null-terminiert sind.
Aber in modernen Anwendungen PWideChar - also mit 16-Byte pro Zeichen gearbeitet wird, was dann bedeutet, das 2 Zeichen verarbeitet werden. Nach dem eigentlichen Zeichen, auch bei UTF-8, ein null-Byte hinten drann kommt, und ebenfalls null-terminiert wird - aber halt mit null-null-Byte.

Jetzt fällt mir auch ein, das Windows 11 und frühere Versionen schon auf 16-Bit umgestellt haben, so dass in modernen Compilern aus utf-8, das eine Mixtur aus 8 und 16-Bit ist, generell auf 16-Bit breite arbeiten.

Bin halt nicht mehr der jüngste - und nicht mehr ub du dätde.
Schande über mein Haupt - und verzeiht mir

Der Tipp von Sinspin war also goldwert - Danke !

Edit:
Die C++ Version des getesteten Testes ist dann so lauffähig:

Code:
#include <windows.h>
#include <iostream>

#ifdef _WIN64
    #define DLL_EXPORT __declspec(dllexport)
#else
    #define DLL_EXPORT
#endif

extern "C" {
DLL_EXPORT void TestFunction(wchar_t* func) {   
    std::wcout << "Func: " << func << std::endl;
}
};
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet

Geändert von paule32.jk (31. Jul 2024 um 15:35 Uhr) Grund: Korrektur des C++ Programms angestöpselt ...
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz