AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C++ Funktionskopf nach Delphi (nur der Kopf)

C++ Funktionskopf nach Delphi (nur der Kopf)

Ein Thema von DieDolly · begonnen am 17. Jun 2019 · letzter Beitrag vom 17. Jun 2019
Antwort Antwort
Seite 1 von 2  1 2   
DieDolly

Registriert seit: 22. Jun 2018
1.131 Beiträge
 
#1

C++ Funktionskopf nach Delphi (nur der Kopf)

  Alt 17. Jun 2019, 09:17
Ich kenne mich mit C++ überhaupt nicht aus. Dies und das kann man noch erraten aber wie muss denn sowas hier in Delphi aussehen?
Code:
int32_t __stdcall GetMemA(void* Mem, size_t Size)
Mem ist laut Doku ein memory buffer. Aber was heißt das alles übersetzt nach Delphi?

Ich habe auch ein paar Methoden wo void** steht statt void*.

Geändert von DieDolly (17. Jun 2019 um 11:02 Uhr) Grund: C# > Cpp
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.460 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: C# Funktionskopf nach Delphi (nur der Kopf)

  Alt 17. Jun 2019, 09:29
Das siehtr eher nach C++ aus. Der * steht für einen Zeigertyp
Markus Kinzler
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: C# Funktionskopf nach Delphi (nur der Kopf)

  Alt 17. Jun 2019, 09:52
Function GetMemA(Mem: Pointer; Size: TSize): Int32;

gruss
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.050 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: C# Funktionskopf nach Delphi (nur der Kopf)

  Alt 17. Jun 2019, 10:14
size_t ist sicher nicht Delphis TSize sondern ein unsigned int für Indizes. Ich hätte gesagt das Delphi-Gegenstück ist NativeUInt.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.131 Beiträge
 
#5

AW: C++ Funktionskopf nach Delphi (nur der Kopf)

  Alt 17. Jun 2019, 11:02
Ich habe den Tite korrigiert. Es ist C++, kein C#.

Die Paremeterbeschreibung lautet
Zitat:
Parameters:
Mem - Pointer to a memory block that should be checked (must not be nil)
Size - Size of the memory block in bytes
Die ganze Unit gibt es hier (mehr Kommentare als Code):
https://github.com/CaptainFlint/wcx_...II_Decrypt.cpp

Hier habe ich etwas hoffentlich Nützliches gefunden. Vielleicht auch für andere. Ich kopiere es mal raus für den Fall, dass die Doku offline ist.
size_t ist aber nicht in der Liste. Sollte vielleicht hinzugefügt werden. Denn wie Der schöne Günther sagt, entspricht es einem NativeUInt was auch hier genau so steht
https://www.delphipraxis.net/190880-...er-delphi.html

void** steht leider auch nicht drin.
Code:
Below is a list of Delphi data types and the corresponding C++ data types:

Delphi type                    Platform   Corresponding C++ type

Boolean (Delphi)               bool (C++)
ShortInt (Delphi)              ShortInt, signed char (C++)
SmallInt (Delphi)              short (C++)
Integer (Delphi)               int (C++)
Byte (Delphi)                  Byte (C++)
Word (Delphi)                  Word (C++)
Cardinal (Delphi)              unsigned (C++)
Int64 (Delphi)                 __int64 (C++)
UInt64 (Delphi)                unsigned __int64 (C++)
NativeInt (Delphi) 32-bit Win  int (C++)
                    64-bit Win __int64 (C++)
                    64-bit iOS long (C++)
NativeUInt (Delphi) 32-bit     unsigned (C++)
                    64-bit Win unsigned __int64 (C++)
                    64-bit iOS unsigned long (C++)
Single (Delphi)                float (C++)
Double (Delphi)                double (C++)
Extended (Delphi)              Extended (C++)
Currency (Delphi)              Currency, CurrencyBase (C++)
Comp (Delphi)                  Comp, CompBase (C++)
Real (Delphi)                  double (C++)
ShortString (Delphi)           ShortString, ShortStringBase (C++)
OpenString (Delphi)            OpenString (C++)
File (Delphi)                  file (C++)
Text (Delphi)                  TextFile (C++)
ByteBool (Delphi)              ByteBool (C++)
WordBool (Delphi)              WordBool (C++)
LongBool (Delphi)              BOOL (C++)
Real48 (Delphi)                not supported in C++
Pointer (Delphi)               void* (C++)
PWideChar (Delphi)             WideChar* (C++)
PAnsiChar (Delphi)             char* (C++)
Variant (Delphi)               defined in sysvari.h (C++)
OleVariant (Delphi)            defined in sysvari.h (C++)
LongInt (Delphi)               int (C++)
                     64-bit iOS long (C++)
LongWord (Delphi)              unsigned (C++)
                     64-bit iOS unsigned long (C++)
FixedInt (Delphi)              int (C++)
FixedUInt (Delphi)             unsigned int (C++)
TextFile (Delphi)              TextFile (C++)

    Note: 32-bit platforms include 32-bit Windows, OSX32, 32-bit iOS, and Android.

Geändert von DieDolly (17. Jun 2019 um 11:23 Uhr)
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#6

AW: C++ Funktionskopf nach Delphi (nur der Kopf)

  Alt 17. Jun 2019, 11:32
Ich habe auch ein paar Methoden wo void** steht statt void*.
C++: Was bedeutet void**?
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.131 Beiträge
 
#7

AW: C++ Funktionskopf nach Delphi (nur der Kopf)

  Alt 17. Jun 2019, 11:35
Zitat:
und ein void** ist dann ein Zeiger auf einen void*.
Ein Pointer auf einen Pointer?

Geändert von DieDolly (17. Jun 2019 um 11:38 Uhr)
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#8

AW: C++ Funktionskopf nach Delphi (nur der Kopf)

  Alt 17. Jun 2019, 11:38
Zitat:
und ein void** ist dann ein Zeiger auf einen void*.
Ein Pointer auf einen Pointer?
Der Kandidat erhält 100 Punkte
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.131 Beiträge
 
#9

AW: C++ Funktionskopf nach Delphi (nur der Kopf)

  Alt 17. Jun 2019, 11:38
Der Kandidat erhält 100 Punkte
Du kannst mir 200 gleich dafür wieder abziehen

Code:
int32_t __stdcall DecodeMemoryHelper(void* Input, size_t InSize, void* Output, size_t* OutSize, void** Helper) { return 0; }
function DecryptAndDecodeMemoryHelper(Input: Pointer; InSize: NativeUInt; Output: Pointer; OutSize: NativeUInt; Helper: ??? ^Pointer): Integer;


In der System.pas finde ich zwar Hilfe zu void * aber nicht zu void **

Edit
size_t steht da in der Winapi.Windows.pas drin als ULONG_PTR was wieder ein NativeUInt ist.

Geändert von DieDolly (17. Jun 2019 um 11:44 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.050 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: C++ Funktionskopf nach Delphi (nur der Kopf)

  Alt 17. Jun 2019, 11:40
Komm!

Wenn void* ein Pointer ist, dann ist void** wohl ein PPointer, oder? 😎
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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