Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Konvertierung Problem (https://www.delphipraxis.net/124842-konvertierung-problem.html)

Digielm 26. Nov 2008 08:15


Konvertierung Problem
 
Hallo Leute ich habe einen Codeschnipsel in c# will diesen aber nach Delphi .net umsetzten schaffe es aber nicht.

Source in c#:

Delphi-Quellcode:
byte[] arr = (byte[])dataService.GetAddnewGUID();

Source in Delphi .net

[delphi]
var arr : byte;

begin
arr = byte(dataService.GetAddnewGUID); so hab ichs versucht und bekomme ungültige typumwandlung
arr = convert.tobyte(dataService.GetAddnewGUID); so klappt es leider auch nicht.
end;

der aufruf "dataService.GetAddnewGUID" ist als object deklariert und gibt ein bytearray zurück.

vielleicht kann mir jemand helfen wäre super nett.

mkinzler 26. Nov 2008 08:38

Re: Konvertierung Problem
 
byte[] ist kein Byte sondern ein ByteArray

Digielm 26. Nov 2008 08:42

Re: Konvertierung Problem
 
ja das hab ich auch schon rausbekommen aber wie bekomme ich das dann hin

bytearray hab ich unter .net nicht gefunden.

divBy0 26. Nov 2008 08:42

Re: Konvertierung Problem
 
evtl so:

Delphi-Quellcode:
var
  arr: Array of Byte;

begin;
  setLength(arr, "hier die Länge des Arrays");
  arr := dataService.GetAddnewGUID;
end;

Digielm 26. Nov 2008 08:48

Re: Konvertierung Problem
 
OK ist kein Problem

wobei der aufruf "ldataservice.GetAddnewGUID" ein TObject ist und das dann so nicht ganz geht leider :-(

Nersgatt 26. Nov 2008 09:03

Re: Konvertierung Problem
 
Zitat:

Zitat von Digielm
wobei der aufruf "ldataservice.GetAddnewGUID" ein TObject ist und das dann so nicht ganz geht leider :-(

Wenn ich das richtig verstehe, dann wird im Original mit
Delphi-Quellcode:
(byte[])dataService.GetAddnewGUID();
das Ergebnis in ein Byte-Array gecastet. Ich weiß leider nicht, wie man in Delphi etwas zu einem Array castet, aber in die Richtung wirst Du suchen müssen.

Gruß,
Jens


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 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