![]() |
Probleme mit gepostetem code
Hallo,
eigentlich gehört mein Beitrag hier dazu: ![]() aber dort kann ich aus mir nicht ganz verständlichen Gründe nichts posten. Es kommt immer eine Fehlermeldung und die aufgeführten Gründe sind entweder zu unspeziefisch oder treffen nicht zu (mein Benutzerkonto hier ist ja offensichtlich aktiviert...). Aber warum wollte ich dort Posten? Weil ich beim Ausführen der als tfiletyperegistration.zip dort verlinkten Demo einen Crash in function IsAdmin: LongBool; bekomme. Der Crash passiert bei mir in Zeile 53, beim 2. Durchlauf der Schleife: if EqualSid(TokenInformation^.Groups[Loop].Sid, AdminSid) then Es ist ein bereichsüberlauf und da in D11.2 die Überlaufsprüfung standardmäßig an ist, hab' ich die mal ausgeschaltet. Aber: ändert nix. Hat da irgendjemand weitere Infos für mich? |
AW: Probleme mit gepostetem code
Die Code-Library war bzw. ist immer noch ein Ort für Inhalte, die (mehr oder weniger) aufbereitet sind. Deswegen existieren dort Beschränkungen für neue Beiträge.
Es gibt die Rubrik "Neuen Beitrag zur CodeLibrary hinzufügen", dort - so der ursprüngliche Gedanke - sollten neue Beiträge veröffentlicht werden. In Spitzenzeiten gab es tatsächlich mal so etwas wie einen Peer-Review der Inhalte. Das alles ist aber organisatorisch nicht mehr darstellbar. Betrachte die Code-Library daher bis auf Weiteres als "read-only". |
AW: Probleme mit gepostetem code
Danke für die Infos, dann suchen wir jetzt möglichst in diesem Thread nach dem Fehler für den Crash...
...ich kenne mich da nämlich zuwenig aus. |
AW: Probleme mit gepostetem code
Vor offensichtlich genau zehn Jahren hatte ich auch eine Frage zu dieser Funktion gestellt - sogar aus dem gleichen Grund:
![]() Inzwischen hab ich die Funktion für mich etwas umgebaut, so dass die Bereichsprüfung nur dort und nur temporär deaktiviert wird. Hier der geänderte Ausschnitt:
Delphi-Quellcode:
Seitdem hab ich keine Probleme mehr, egal ob ein Projekt mit oder ohne Bereichsprüfung kompiliert wird.
[...]
for x := 0 to ptgGroups^.GroupCount - 1 do begin {$IFOPT R+} {$DEFINE TOGGLED_RANGECHECK} {$RANGECHECKS OFF} {$ENDIF} if EqualSid(psidAdministrators, ptgGroups^.Groups[x].Sid) then begin //consider denied ACE with Administrator SID Result:= ptgGroups^.Groups[x].Attributes and SE_GROUP_USE_FOR_DENY_ONLY <> SE_GROUP_USE_FOR_DENY_ONLY; Break; end; {$IFDEF TOGGLED_RANGECHECK} {$RANGECHECKS ON} {$ENDIF} end; [...] Wichtig ist, das Projekt nach der Änderung komplett neu zu erzeugen (Shift+F9). Grüße Dalai |
AW: Probleme mit gepostetem code
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 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