Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   JEDI Windows Security Code Library (https://www.delphipraxis.net/102905-jedi-windows-security-code-library.html)

xZise 29. Nov 2007 18:44

Re: JEDI Windows Security Code Library
 
Zitat:

Zitat von Remko
I noticed this issue too on BDS2006. Closing and restarting often helps (you can also try to close the handle eg with Process Explorer).

I already searched for the handle, but without any result.
And when I restart and want to compile it now, it's blocking again. But not until when I start the compile. Before the first compile I can open and save the file.

MfG
xZise

Zitat:

Zitat von Dezipaitor
Das Problem habe ich auch. Es ist ein ganz merkwürdiger Fehler von TD - z.b. in D7 tritt er nicht auf.

Hier auf meinen PC hätte ich nicht D7 ...
Zitat:

Zitat von Dezipaitor
Bis jetzt habe ich es lösen können, indem ich TD geschlossen habe und die Dateien woandershin kopiert habe (nicht verschieben) - am besten auf eine andere Partition.

Aha... Ich probiers mal aus! Auch wenn es leider nicht vielversprechend klingt.

Dezipaitor 29. Nov 2007 18:52

Re: JEDI Windows Security Code Library
 
Du kannst auf deutsch schreiben. Remko versteht dich.

Das Handle kannst du mit Unlocker freigeben.

Hast du im BDS die Datei geöffnet? Schließen, BDS schließen, so dass die Datei nie geöffnet wird.
Lösche auch alle erstellten Binärdateien (dsk, dcu usw) auch im BDS Bin-Verzeichnis.

xZise 29. Nov 2007 19:11

Re: JEDI Windows Security Code Library
 
Zitat:

Zitat von Dezipaitor
Hast du im BDS die Datei geöffnet? Schließen, BDS schließen, so dass die Datei nie geöffnet wird.

Nein habe ich nicht.
Zitat:

Zitat von Dezipaitor
Lösche auch alle erstellten Binärdateien (dsk, dcu usw) auch im BDS Bin-Verzeichnis.

Es existierten keine.

Ich habe es jetzt auf meinen Stick (= neue Partition) geschoben ==> Es funktioniert. Zwar ziemlich lahm ^^ aber es könnte gehen xD

MfG
xZise

Dezipaitor 29. Nov 2007 19:58

Re: JEDI Windows Security Code Library
 
Du kannst es auch in einem anderen Dir ausprobieren. Hauptsache ist, dass die Daten kopiert werden. Beim Verschieben wird nur die FAT geändert.

xZise 29. Nov 2007 20:14

Re: JEDI Windows Security Code Library
 
Sorry, aber es ist zum Mäuse melken. Wenn überhaupt:
Alles brav kopiert, einmal kompliert => Syntaxfehler => korrigiert => FEHLER :(
Also nochmal:
Alles brav kopiert, Bibilothekpfad erneuert => kompliert => Syntaxfehler => korrigier => FEHLER

Ich liebe es...

MfG
xZise

Dezipaitor 29. Nov 2007 22:25

Re: JEDI Windows Security Code Library
 
Hmm, okay wenn bei dir kopieren nicht hilft, dann eben auf eine andere Partition.
Es ist eben ein Bug in TD, der wirklich nervt. Ich kann nichts dafür.
Der Fehler tritt bei mir auch dann auf, wenn diese eine Unit garnicht verwendet wird...dann eben für eine andere unit.

Aber ich könnte für einige Versionen DCUs zum Download stellen. Ich selbst habe aber nur D7 und TD.

Dezipaitor 1. Dez 2007 19:08

Re: JEDI Windows Security Code Library
 
Ich habe nochmal mit dem Fehler, dass JwaWinType.pas nicht gefunden werden kann, herumprobiert. Dabei habe ich folgende weitere Lösung gefunden:

1. Delphi beenden
2. Ordner Win32API umbennenen (z.b. in Win32API_)
3. Delphi starten
3. umbenennen Ordner Win32API zurück umbennenen in Win32API

Ich beziehe mich jedoch auf die Kompilation der Pakete in "\jedi-api-lib\jwapi\trunk\Packages".
Dazu die Projektgruppendatei (z.b. *.bdsproj) öffnen, nachdem Delphi gestartet wurde.
Es gibt dort 4 Pakete, welche nur dazu da sind DCU Dateien zu erstellen. Diese sind für DEBUG, RELEASE sowie STATIC und DYNAMIC binding.

Jedes Paket schreibt die Ausgabe in ein Bin-Ordner.
z.b. jedi-api-lib\jwapi\trunk\Packages\bds10\bin\debug\dynamic


Jetzt muss man nur noch den Pfad zu den DCU-Dateien statt zu den PAS-Dateien Delphi mitteilen. Das macht man am besten in den globalen Pfad-Einstellungen von Delphi und nicht in den Projekteinstellungen des jeweiligen Projekts.
Dies macht man im Menü: Tools-Optionen und dann im Baum: Umgebungsoptionen->DelphiOptionen->BibliothekWin32
In das Bibliothekspfad-Eingabefeld wird dann der absolute Pfad (z.b. C:\Projekte\Jedi-api-lib\jwapi\trunk\Packages\bds10\bin\debug\dynamic) eingegeben.

Der Suchpfad selbst kann der absolute Pfad zu den JWSCL Pas-Dateien sein (z.b. C:\Projekte\jedi-api-lib\jwscl\trunk\source). Für die JWA ist hier kein Eintrag nötig.

Ich empfehle nicht, für die JWSCL ein Paket zu erstellen, da sie sich oft ändern wird. Jede Änderung führt dazu, dass man das Paket neu kompilieren müsste. Ändert sich also in JWA eine Datei muss man den Kompilationsvorgang für JWA wiederholen, sonst lässt sich womöglich JWSCL nicht mehr kompilieren.


Der Vorteil der ganzen Sache ist, dass man die JWA nicht jedesmal komplett neu kompilieren muss.

xZise 13. Dez 2007 08:51

Re: JEDI Windows Security Code Library
 
Kann ich mit der JWSCL herausfinden, ob der Benutzer Adminrechte hat?

Dezipaitor 13. Dez 2007 09:30

Re: JEDI Windows Security Code Library
 
JwsclToken exportiert eine Reihe von Funktionen.

Delphi-Quellcode:
{@Name checks if the user has administrative access to secured object.
This function checks if an access to a secured object, which only
users of the administration group have access, succeeds or fails.
The advantage of this function is that it also can be used with restricted
tokens, which are quite common since Windows XP and especially Vista.

@return Returns true if the user has administrative access; otherwise false.
}
function JwCheckAdministratorAccess : Boolean;
Wenn du weißt, welches Privileg du benötigst, kannst du das auch überprüfen:
Delphi-Quellcode:
{@Name checks whether a given privilege is available or enabled in the actual process or thread.
@param Index gets the privilege name
@param query defines whether the given privilege should be checked for availability or is enable
@return Returns true if the privilege is available and enabled. If the privilege is not available or disabled the result is false.
}
function JwIsPrivilegeSet(const Index: string;
  const Query: TJwPrivilegeQueryType = pqt_Available): boolean;
Eine Liste von verfügbaren Privilegien findest du damit
Delphi-Quellcode:
{@Name returns a string filled with privilege names (of current token) and their states seperated by #13#10.
SE_XXXXX [enabled]
SE_XXXXX [disabled]
}
function JwGetPrivilegesText: TJwString;

xZise 13. Dez 2007 17:26

Re: JEDI Windows Security Code Library
 
Würde das auch bei einem Installierten Dienst funktionieren?
Und wie kriege ich das unter Windows 2000 heraus?

MfG
xZise


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:26 Uhr.
Seite 3 von 4     123 4      

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