AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ord to VS c++ WCHAR

Ein Thema von EWeiss · begonnen am 2. Jun 2017 · letzter Beitrag vom 2. Jun 2017
Antwort Antwort
Seite 2 von 2     12   
EWeiss
(Gast)

n/a Beiträge
 
#11

AW: Ord to VS c++ WCHAR

  Alt 2. Jun 2017, 15:29
Code:
WCHAR Quote[2] = { 34, 0 };
Das war die Lösung
Wenn der Char '\' und die länge davon nicht exakt stimmt schlägt die Function INWSTR fehl.

Danke warst mir eine große Hilfe.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#12

AW: Ord to VS c++ WCHAR

  Alt 2. Jun 2017, 15:40
Ahh okay, in diesem Falle kannst du die Funktion auch einfach so aufrufen:
Code:
S1 = INWSTR(0, sCfg, L"\\");
Da bist du in die Falle getappt, weil WCHAR* nicht ein einzelnes Zeichen, sondern einen kompletten String (in C Sprachen immer ein Zeiger (*) auf das erste Zeichen) darstellt. Dadurch, dass die C-Strings auch keine vorgestellte Länge (wie in Delphi) besitzen, müssen sie zwangsweise nullterminiert werden.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

AW: Ord to VS c++ WCHAR

  Alt 2. Jun 2017, 15:45
Ahh okay, in diesem Falle kannst du die Funktion auch einfach so aufrufen:
Code:
S1 = INWSTR(0, sCfg, L"\\");
Da bist du in die Falle getappt, weil WCHAR* nicht ein einzelnes Zeichen, sondern einen kompletten String (in C Sprachen immer ein Zeiger (*) auf das erste Zeichen) darstellt. Dadurch, dass die C-Strings auch keine vorgestellte Länge (wie in Delphi) besitzen, müssen sie zwangsweise nullterminiert werden.
Sieht so aus

Aber diese Funktion habe ich vorher getestet und brachte keinen Erfolg seltsam.
Muss dem nochmal nachgehen.
Kann mir dann die Definition sparen.

EDIT:
Nein das funktioniert definitiv nicht.
Dann werden keine Icons geladen irgendwie kommt WCHAR * mit L"\\" nicht zurecht.

gruss

Geändert von EWeiss ( 2. Jun 2017 um 15:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#14

AW: Ord to VS c++ WCHAR

  Alt 2. Jun 2017, 15:47
Aber diese Funktion habe ich vorher getestet und brachte keinen Erfolg seltsam.
Wichtig ist, dass du das Backslash doppelt schreibst, sonst gillt es unter C/C++ als Escape Zeichen.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#15

AW: Ord to VS c++ WCHAR

  Alt 2. Jun 2017, 15:50
Aber diese Funktion habe ich vorher getestet und brachte keinen Erfolg seltsam.
Wichtig ist, dass du das Backslash doppelt schreibst, sonst gillt es unter C/C++ als Escape Zeichen.
Danke nein es geht nicht siehe mein Edit
Wenn ich das so übergebe dann ist das Ergebnis 92 muss aber 34 sein.
Ich glaube man darf den Char im nachhinein nicht verändern er muss Exakt sein.

Also Char(34) + null terminierten Char

gruss

Geändert von EWeiss (11. Jul 2019 um 16:48 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#16

AW: Ord to VS c++ WCHAR

  Alt 2. Jun 2017, 16:15
es würde so gehen.. Theoretisch.. Praktisch nicht!
Code:
S1 = INWSTR(0, sCfg, L"\"\"");
Theoretisch und Praktisch hätte ich dann ein Ergebnis von 34.

Praktisch jedoch wäre der Array String dann länger wie 1 kann man ja auch so schon sehen.
Das führt dann dazu das meine Funktion fehl schlägt.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#17

AW: Ord to VS c++ WCHAR

  Alt 2. Jun 2017, 16:16
Willst du überhaupt den Backslash? Weil #34 ist ". Dementsrpechend müsste es dann natürlich
Code:
L"\""
heißen.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#18

AW: Ord to VS c++ WCHAR

  Alt 2. Jun 2017, 16:19
Willst du überhaupt den Backslash? Weil #34 ist ". Dementsrpechend müsste es dann natürlich
Code:
L"\""
heißen.
JA das war die optimale Lösung
Danke wieder mal..

gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 21:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz