Delphi-PRAXiS
Seite 8 von 9   « Erste     678 9      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Zugriffsverletzung ADSI, so was komisches hab ich noch nie.. (https://www.delphipraxis.net/146499-zugriffsverletzung-adsi-so-komisches-hab-ich-noch-nie.html)

cherry 24. Feb 2010 16:24

Re: Zugriffsverletzung ADSI, so was komisches hab ich noch n
 
Hey! Vielen Dank euch allen :!:

:dancer2: :witch: :bouncing4: :bounce1: :firejump: :bounce2: :hi: :hello:

Remko 24. Feb 2010 16:27

Re: Zugriffsverletzung ADSI, so was komisches hab ich noch n
 
http://www.remkoweijnen.nl/temp/jediblog.png

:wink: :wink: :wink:

Dezipaitor 24. Feb 2010 16:31

Re: Zugriffsverletzung ADSI, so was komisches hab ich noch n
 
Dann geb ich auch meinen Senf ab:
Die JEDI API&WSCL hat einen geschätzten Wert bei Neuerstellung von 5 Millionen USD.

@Alter Mann:
Remko erstellt gerade eine AD Klasse für JWSCL. Allerdings hat er gerade mehr Arbeit bekommen und daher wird das länger dauern. Hast du nicht etwas Zeit übrig, um mitzumachen?

Alter Mann 24. Feb 2010 16:48

Re: Zugriffsverletzung ADSI, so was komisches hab ich noch n
 
Hm..m,

erst nach meinen Urlaub, so ab den 15. März.

Viele Grüße

PN bis morgen Abend möglich.

Remko 25. Feb 2010 15:21

Re: Zugriffsverletzung ADSI, so was komisches hab ich noch n
 
I have created a new version of JwaAdsTlb by hand because the typelib import from Delphi is unable to produce a good file.
I was hoping that Cherry and/or Alter Mann can test the new unit as the conversion was a lot of (boring) work and it's not unimaginable that I made errors. Please let me know...


The problem with the AdsValue record is alignment: I found it in the file IADS.h from the SDK which has the following options:
Delphi-Quellcode:
/* Compiler settings for ads.odl:
    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
It means that record will be aligned at 8 byte boundaries and Delphi doesn't have an option for that. I was able to solve it by declaring it with a nested case statement:
Delphi-Quellcode:
  ADSVALUE = packed record
  case Byte of // Padding
    0: (
      dwType: ADSTYPE;
      case _DoNotUse: ADSTYPE of // Padding
        ADSTYPE_DN_STRING: (DNString: ADS_DN_STRING);
        ADSTYPE_CASE_EXACT_STRING: (CaseExactString: ADS_CASE_EXACT_STRING);
        ADSTYPE_CASE_IGNORE_STRING: (CaseIgnoreString: ADS_CASE_IGNORE_STRING);
        ADSTYPE_PRINTABLE_STRING: (PrintableString: ADS_PRINTABLE_STRING);
        ADSTYPE_NUMERIC_STRING: (NumericString: ADS_NUMERIC_STRING);
        ADSTYPE_BOOLEAN: (Boolean: ADS_BOOLEAN);
        ADSTYPE_INTEGER: (Integer: ADS_INTEGER);
        ADSTYPE_OCTET_STRING: (OctetString: ADS_OCTET_STRING);
        ADSTYPE_UTC_TIME: (UTCTime: ADS_UTC_TIME);
        ADSTYPE_LARGE_INTEGER: (LargeInteger: ADS_LARGE_INTEGER);
        ADSTYPE_OBJECT_CLASS: (ClassName: ADS_PROV_SPECIFIC);
        ADSTYPE_PROV_SPECIFIC: (ProviderSpecific: ADS_PROV_SPECIFIC);
        ADSTYPE_CASEIGNORE_LIST: (pCaseIgnoreList: PADS_CASEIGNORE_LIST);
        ADSTYPE_OCTET_LIST: (pOctetList: PADS_OCTET_LIST);
        ADSTYPE_PATH: (pPath: PADS_PATH);
        ADSTYPE_POSTALADDRESS: (pPostalAddress: PADS_POSTALADDRESS);
        ADSTYPE_TIMESTAMP: (Timestamp: ADS_TIMESTAMP);
        ADSTYPE_BACKLINK: (BackLink: ADS_BACKLINK);
        ADSTYPE_TYPEDNAME: (pTypedName: PADS_TYPEDNAME);
        ADSTYPE_HOLD: (Hold: ADS_HOLD);
        ADSTYPE_NETADDRESS: (pNetAddress: PADS_NETADDRESS);
        ADSTYPE_REPLICAPOINTER: (pReplicaPointer: PADS_REPLICAPOINTER);
        ADSTYPE_FAXNUMBER: (pFaxNumber: PADS_FAXNUMBER);
        ADSTYPE_EMAIL: (Email: ADS_EMAIL);
        ADSTYPE_NT_SECURITY_DESCRIPTOR: (SecurityDescriptor: ADS_NT_SECURITY_DESCRIPTOR);
        ADSTYPE_DN_WITH_BINARY: (pDNWithBinary: PADS_DN_WITH_BINARY);
        ADSTYPE_DN_WITH_STRING: (pDNWithString: PADS_DN_WITH_STRING)
      );
  end;
  _adsvalue = ADSVALUE;
  PADSVALUE = ^ADSVALUE;
  LPADSVALUE = PADSVALUE;

Remko 8. Mär 2010 20:20

Re: Zugriffsverletzung ADSI, so was komisches hab ich noch n
 
So nobody wants to test?

Dezipaitor 22. Mär 2010 12:12

Re: Zugriffsverletzung ADSI, so was komisches hab ich noch n
 
Wer könnte die ADS Header Testen? Wir brauchen wirklich Freiwillige hier. Das Problem ist auch, dass sich nicht jeder so gut mit AD auskennt, geschweige denn eines hat.

Und besonders, da wir dieses große Problem gelöst haben, kann man etwas zurück erwarten. Nicht zuletzt ist das hier alles nur für euch:
http://blog.delphi-jedi.net/2010/02/15/reminder-to-you/

cherry 23. Mär 2010 13:11

Re: Zugriffsverletzung ADSI, so was komisches hab ich noch n
 
@Dezipaitor und @Remko

Sorry das ich mich so lange nicht gemeldet habe. Ich werde das sehr gerne testen und dann auch Feedback abliefern. Nur muss ich bis morgen ein Betarelease des Programms bereit haben und bin daher sehr unter druck. Ich konnte die neue JwaAdsTlb leider noch nicht implementieren, da ich zuwenig Zeit hatte.

Ich verspreche aber, dass ich das gleich nächste Woche implementiere! Ich werde dann die Erfahrungen die ich machen werden in diesem Thread posten.. ok?!
Danke nochmals für eure Hilfe!

cherry 6. Apr 2010 15:34

Re: Zugriffsverletzung ADSI, so was komisches hab ich noch n
 
Lieber spät als nie...

Wo kriege ich deine aktuelle JwaAdsHlp und JwaAdsTLB? Ich hab jetzt endlich Zeit dies auszutesten. Oder hast du "nur" die Änderungen gemacht die du hier auch gepostet hast? Dann kann ichs ja auch selber anpassen. Danke.

LG

cherry 7. Apr 2010 14:42

Re: Zugriffsverletzung ADSI, so was komisches hab ich noch n
 
Zitat:

Zitat von Remko
I have created a new version of JwaAdsTlb by hand because the typelib import from Delphi is unable to produce a good file.
I was hoping that Cherry and/or Alter Mann can test the new unit as the conversion was a lot of (boring) work and it's not unimaginable that I made errors. Please let me know...

Sind die Änderungen in Beitrag #75 die einzigen die du in JwaAdsTlb gemacht hast. Und die Änderungen #69 die einzigen für JwaAdsHlp ? oder schickst du mir deine Dateien?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 Uhr.
Seite 8 von 9   « Erste     678 9      

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