![]() |
Re: WLan API Übersetztung ?
Ok Leute bin soweit Fertig jetzt lass ich nochmal Robert Marquardt drüber schauen dann gebe ich die Units hier frei Dokumentation und BSp Projekte zur anwendung kommen wenn ich mit meine Freunden unser Programmierer Wiki aufgebaut haben. ^^ Also warten wir mal ab was Robert Marquardt für so Fehler findet.
|
Re: WLan API Übersetztung ?
Sieht schlimm aus.
Erst mal waere eine anstaendige Formatierung der Sourcen angebracht. nduCType.pas ist voll von ueberfluessigen Typdeklarationen. void laesst sich nicht in Delphi ausdruecken. pvoid = Pointer. Es waere angebracht die Schreibweise von C zu uebernehmen, also PVOID nicht pvoid. Die enums einfach zu uebernehmen kann boese schiefgehen. Ein {$MINENUMSIZE 4} muss in die Sourcen, da C immer 4-Byte Enums macht. Bei einer Konversion ist es besser die Namen komplett zu uebernehmen. Der ndu-Prefix sollte also rausfliegen. Auch die Delphi-Art des Typen mit T-Prefix sollte nur als zzusaetzlicher Typ aufteten. Ganz uebel ist die Veraenderung des Wertes von NDU_DOT11_SSID_MAX_LENGTH. So ist es richtig:
Delphi-Quellcode:
Ob es packed record ist kann ich nicht sagen. Die C-Header deuten eher an das nicht, da ein #pragma dazu fehlt.
const
DOT11_SSID_MAX_LENGTH = 32; //32 Bytes type DOT11_SSID = packed record uSSIDLength: ULONG; ucSSID: array [0..DOT11_SSID_MAX_LENGTH-1] of UCHAR; end; Ich wuerde hier eher auf 8-Byte-Grenzen wetten. Es empfiehlt sich die jedi-apilib zu benutzen ( ![]() Unangenehm ist das das Windows DDK noch kaum konvertiert ist. Da wartet noch viel Arbeit auf uns. |
Re: WLan API Übersetztung ?
Hey beim einrücken habe ich mir mühe gegeben was für ne Delphi version benutzt du ? Ich benutzte jetzt 2006.
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Ich werds ändern danke noch fürs drüber schauen wenn ich fertig bin würdest du es dir nochmal anschauen ? |
Re: WLan API Übersetztung ?
Die Einrueckung wird durch Tabs versaut. Der erste Schritt einr Konversion sollte daher die Anwendung eines Detab-Tools sein.
Wenn void als Resultattyp einer Funktion kommt, so heisst das das es eine Prozedur ist. Kommt void als Parametertyp, so hat die Funktion keinen Parameter. das bedeutet insgesamt das void nie als Typ konvertiert wird. Das mit dem Packing ist schwierig. Frueher hat MS das immer klar in den Headern angegeben, aber die neueren APIs sind ueblicherweise ohne Angabe. Das bedeutet die Voreinstellung 8 des Visual Studio. Ja, ich schau mir die Files dann nochmal an. |
Re: WLan API Übersetztung ?
edit
Sry, falscher Thread! :p |
Re: WLan API Übersetztung ?
hm, irgendwas passt hier gar nicht. :/
|
Re: WLan API Übersetztung ?
Habe mir die Jedi Units angeschaut was mich mal Interessiert sind die Schalter Befehle gibs da irgendwo ne Tut drüber ?
bsp:
Delphi-Quellcode:
{$WEAKPACKAGEUNIT}
|
Re: WLan API Übersetztung ?
Ja, in der Delphi Hilfe.
|
Re: WLan API Übersetztung ?
Liste der Anhänge anzeigen (Anzahl: 1)
Hey Leute nun haben wirs, also noch mal ein großes Danke Robert Marquardt der meine Units Überarbeitet hat.
Er hat zugar die Kommentare rein gemacht --> das wollt ich eigentlich machen :wink: Naja dann werde ich woll irgendwann mal noch Deutsche Kommentare rein setzten, mal sehen. Das Bsp Programm kommt noch, aber erst wenn das Pro-Wiki von mir und meinen Kumpels steht. Ihr braucht für die Benutztung noch die Jedi Units ![]() Und die DLL WlanAPi.dll die es bei Microsoft gibt ![]() . Im anhang die Units. PS. Robert Marquardt wollst mir nich noch sagen wo meine Fehler Lagen und worauf ich achten muss ? |
Re: WLan API Übersetztung ?
Super! Besten Dank! :D
Eine kurze Frage: Beim Download der WlanAPi.dll von MS kann man dies für unterschiedliche Sprachen machen. Sollte man hier die Sprache des Betriebssystems (deutsch wegen Kompatibilität) wählen oder die des zu entwickelnden Programms (englisch wegen Fehlermeldungen)? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:03 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