Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C Code in Delphi (https://www.delphipraxis.net/109466-c-code-delphi.html)

caN 2. Mär 2008 02:00


C Code in Delphi
 
Hallo,
Also Ich möchte gern wissen wie ich das in Delphi machen kann.
Ich danke euch schonmal im Vorraus für die Antworten.





Code:
int (*funcdll)(const uint8_t *p, const int length, const void *xp);

    struct {
        uint32_t   n1;      
        uint8_t    *it;    
        uint32_t   n2;      
        uint32_t   n3;      
        uint32_t   n4;    
        uint32_t   len;  
        uint32_t   n5;      
        uint8_t    n6[40];
    } struct_dll;

    hLib = LoadLibrary(DLL);
    if(!hLib) std_err();

    funcdll = (void *)hLib + OFFSET;

    memset(&struct_dll, 0, sizeof(struct_dll));

    funcdll(stritt, strlen(stritt), &struct_dll);

    es = strdup(struct_dll.it);
    FreeLibrary(hLib);
[edit=SirThornberry]c-tags gesetzt - nächstes mal bitte selbst machen - Mfg, SirThornberry[/edit]

cruiser 2. Mär 2008 02:11

Re: C Code in Delphi
 
Das ist schöner code... aber ich glaub in Delphi wird das nich klappen.

Wenn du noch verrätst was damit ist und evtl. noch c-code-blöcke drum herum setzt kann man dir hier unter umständen helfen

Phoenix 2. Mär 2008 09:45

Re: C Code in Delphi
 
Das ist jetzt nicht Dein Ernst, oder?

Du bist das erste mal hier, sagst weder Hallo noch stellst eine konkrete Frage was Dein Problem ist und knallst hier nur unformatierten Code rein und erwartest, dass wir den für Dich übersetzen?

Das ist ja wohl der Gipfel der Frechheit.

1234588 2. Mär 2008 11:05

Re: C Code in Delphi
 
Zitat:

Zitat von Phoenix
Das ist jetzt nicht Dein Ernst, oder?

Du bist das erste mal hier, sagst weder Hallo noch stellst eine konkrete Frage was Dein Problem ist und knallst hier nur unformatierten Code rein und erwartest, dass wir den für Dich übersetzen?

Das ist ja wohl der Gipfel der Frechheit.


gestern schrieb mich der junge mann an. er braucht nicht hoeflich zu sein, hat er nicht noetig.

caN 2. Mär 2008 11:40

Re: C Code in Delphi
 
Hallo,
Sry hab es vergessen. War gestern ziemlich spät :D.
Also Ich möchte gern wissen wie ich das in Delphi machen kann.

Ps: Ich danke euch schonmal im Vorraus für die Antworten.

QuickAndDirty 6. Mär 2008 11:25

Re: C Code in Delphi
 
Zitat:

Zitat von caN
Hallo,
Also Ich möchte gern wissen wie ich das in Delphi machen kann.
Ich danke euch schonmal im Vorraus für die Antworten.




Delphi-Quellcode:
Type
  TFunktion = Function(b1:Pchar; l:integer; p:TPointer):integer

  Tstruct = record
        n1 : longword;      
        it : Pchar;
        n2 :longword;      
        n3 : longword;      
        n4 : longword;    
        len : longword;  
        n5 : longword;      
        n6 : array [0..39] of char;
  end;

var
  funcdll:TFunktion ;
  struct_DLL:TStruct;
   
Begin
  hLib := LoadLibrary(DLL);
  if not hLib then
    Raise exception.create('kaputt');

  funcdll = GetProccAddress(Hlib, 'MeineProzedur');
  // initialisieren von struct_dll kann ich nicht auswendig
  funcdll(stritt, length(stritt), @struct_dll)
//    es = strdup(struct_dll.it); // Kenne ich nicht
  FreeLibrary(hLib);
end.
Könnte so ähnlich gehen

Code:
int (*funcdll)(const uint8_t *p, const int length, const void *xp);

    struct {
        uint32_t   n1;      
        uint8_t    *it;    
        uint32_t   n2;      
        uint32_t   n3;      
        uint32_t   n4;    
        uint32_t   len;  
        uint32_t   n5;      
        uint8_t    n6[40];
    } struct_dll;

    hLib = LoadLibrary(DLL);
    if(!hLib) std_err();

    funcdll = (void *)hLib + OFFSET;

    memset(&struct_dll, 0, sizeof(struct_dll));

    funcdll(stritt, strlen(stritt), &struct_dll);

    es = strdup(struct_dll.it);
    FreeLibrary(hLib);
[edit=SirThornberry]c-tags gesetzt - nächstes mal bitte selbst machen - Mfg, SirThornberry[/edit]



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