AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Weitergabe eines Strings über Pointer funktioniert nicht - manchmal...
Thema durchsuchen
Ansicht
Themen-Optionen

Weitergabe eines Strings über Pointer funktioniert nicht - manchmal...

Ein Thema von s-off · begonnen am 28. Mai 2021 · letzter Beitrag vom 31. Mai 2021
Antwort Antwort
venice2
(Gast)

n/a Beiträge
 
#1

AW: Weitergabe eines Strings über Pointer funktioniert nicht - manchmal...

  Alt 29. Mai 2021, 18:33
Genau wegen deiner Problem habe ich eine Wrapper.dll in C# geschrieben die man einfach als Verweis in C# einbinden kann.

Diese regelt dann die Kommunikation zwischen der Delphi.dll -> Wrapper.dll - Anwendung in C#.

Somit konnte ich auf beide Varianten des Codes Einfluß nehmen (UnmanagedType und managedType)
Zudem habe ich alle Strings aus Delphi als PWideChar übergeben. Nicht als PChar !

Delphi..
Pluginfile : PWideChar;

C# Wrapper
Code:
    [MarshalAs(UnmanagedType.BStr)]
    public string PluginFile = string.Empty;
Nur so als Anregung.
Zitat:
Achte darauf, das du auch einen Unicode-String in Form von PWideChars zurückgibst, das erspart dir weitere Kopfschmerzen: In C# ist jeder String automatisch Unicode.
https://im-coder.com/wie-verwenden-v...-typ-in-c.html
OK bin raus

Geändert von venice2 (29. Mai 2021 um 18:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.590 Beiträge
 
Delphi 12 Athens
 
#2

AW: Weitergabe eines Strings über Pointer funktioniert nicht - manchmal...

  Alt 29. Mai 2021, 20:09
Wenn in C# ein BSTR, warum dann in Delphi ein PWideChar, anstatt eines WideString? (WideString ist intern ein BSTR)

Die Delphi-DLL wird überarbeitet?
Wozu dann noch ein Wrapper dazwischen, anstatt direkt?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:24 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