AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi WLan API Übersetztung ?
Thema durchsuchen
Ansicht
Themen-Optionen

WLan API Übersetztung ?

Ein Thema von nitschchedu · begonnen am 17. Okt 2006 · letzter Beitrag vom 3. Dez 2007
Antwort Antwort
Seite 5 von 8   « Erste     345 67     Letzte »    
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#41

Re: WLan API Übersetztung ?

  Alt 9. Jan 2007, 21:14
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.
Programmieren ..... .
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#42

Re: WLan API Übersetztung ?

  Alt 10. Jan 2007, 10:41
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:
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;
Ob es packed record ist kann ich nicht sagen. Die C-Header deuten eher an das nicht, da ein #pragma dazu fehlt.
Ich wuerde hier eher auf 8-Byte-Grenzen wetten.

Es empfiehlt sich die jedi-apilib zu benutzen (http://jedi-apilib.sf.net). Damit sollte mna zumindest nduCType.pas und nduWinNT.pas loswerden koennen.
Unangenehm ist das das Windows DDK noch kaum konvertiert ist. Da wartet noch viel Arbeit auf uns.
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#43

Re: WLan API Übersetztung ?

  Alt 10. Jan 2007, 11:07
Hey beim einrücken habe ich mir mühe gegeben was für ne Delphi version benutzt du ? Ich benutzte jetzt 2006.

Zitat von Robert Marquardt:
Sieht schlimm aus.
Erst mal waere eine anstaendige Formatierung der Sourcen angebracht.
Das hört sich so an wie bei meinen Kollecken mit dem Zend hab ich die Datei ist alles schön eingrückt. Hat er die Datei ist alles aus dem zusammen hang.


Zitat von Robert Marquardt:
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.
Wie mache ich das dann wenn void kommt ?

Zitat von Robert Marquardt:

Die enums einfach zu uebernehmen kann boese schiefgehen. Ein {$MINENUMSIZE 4} muss in die Sourcen, da C immer 4-Byte Enums macht.
Dazu kann ich nur eins sagen man hatt mir das schon mal gesagt aber wieder mal nicht richtig erklärt.

Zitat von Robert Marquardt:
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.
Ich werds ndu für mich behalten und für euch rausmachen ok ^^.

Zitat von Robert Marquardt:
Ganz uebel ist die Veraenderung des Wertes von NDU_DOT11_SSID_MAX_LENGTH.
So ist es richtig:
Delphi-Quellcode:
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;
Ob es packed record ist kann ich nicht sagen. Die C-Header deuten eher an das nicht, da ein #pragma dazu fehlt.
Ich wuerde hier eher auf 8-Byte-Grenzen wetten.
Ich habe Packet record genohmen weil man das mir hier irgendwo gesagt hat natürlich wieder nicht richig erklärt.

Zitat von Robert Marquardt:
Es empfiehlt sich die jedi-apilib zu benutzen (http://jedi-apilib.sf.net). Damit sollte mna zumindest nduCType.pas und nduWinNT.pas loswerden koennen.
Unangenehm ist das das Windows DDK noch kaum konvertiert ist. Da wartet noch viel Arbeit auf uns.
[/quote]

Ich werds ändern danke noch fürs drüber schauen wenn ich fertig bin würdest du es dir nochmal anschauen ?
Programmieren ..... .
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#44

Re: WLan API Übersetztung ?

  Alt 10. Jan 2007, 11:54
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.
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#45

Re: WLan API Übersetztung ?

  Alt 10. Jan 2007, 12:01
edit

Sry, falscher Thread! :p
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#46

Re: WLan API Übersetztung ?

  Alt 10. Jan 2007, 12:02
hm, irgendwas passt hier gar nicht. :/
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#47

Re: WLan API Übersetztung ?

  Alt 10. Jan 2007, 15:51
Habe mir die Jedi Units angeschaut was mich mal Interessiert sind die Schalter Befehle gibs da irgendwo ne Tut drüber ?
bsp:
{$WEAKPACKAGEUNIT}
Programmieren ..... .
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#48

Re: WLan API Übersetztung ?

  Alt 10. Jan 2007, 16:28
Ja, in der Delphi Hilfe.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#49

Re: WLan API Übersetztung ?

  Alt 14. Jan 2007, 12:48
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 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 http://jedi-apilib.sf.net.
Und die DLL WlanAPi.dll die es bei Microsoft gibt http://www.microsoft.com/downloads/d...DisplayLang=de
.
Im anhang die Units.

PS. Robert Marquardt wollst mir nich noch sagen wo meine Fehler Lagen und worauf ich achten muss ?
Angehängte Dateien
Dateityp: rar nduwlanapiunits_209.rar (10,4 KB, 118x aufgerufen)
Programmieren ..... .
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#50

Re: WLan API Übersetztung ?

  Alt 14. Jan 2007, 13:16
Super! Besten Dank!

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)?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 8   « Erste     345 67     Letzte »    


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 21: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 by Thomas Breitkreuz