AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Win11 AV in ntdll.dll

Ein Thema von cramer · begonnen am 11. Mai 2024 · letzter Beitrag vom 20. Mai 2024
Antwort Antwort
Benutzerbild von cramer
cramer

Registriert seit: 23. Jun 2004
Ort: Velbert (NRW)
108 Beiträge
 
Delphi 2006 Enterprise
 
#1

Win11 AV in ntdll.dll

  Alt 11. Mai 2024, 20:28
Hi,

auf allen meinen Windows 11 PC bekomme ich in meinen BDS2006 Anwendungen einen AV Fehler, der von XP über W7 bis W10 nicht auftritt.
Code:

var GwObj, GwRAobj, GwMail : variant;

   function gwInit( aUser, aPass, aHost, aPort : string ) : integer;
   begin
      OleInitialize(nil);
      GWobj := CreateOleObject( 'NovellGroupWareSession' );
      // Okay
      GwRAobj := GWobj.Login( User, '/ipa-' + Host + ' /ipp-' + Port, Pass, 1 );
      // Access violation at address 777F0131 in module 'ntdll.dll'. Read of address 000E0029
    end;
Keep it simple, habe ich eine Lazarus-3.2 und eine BDS2006-Console Anwendung gebaut und die function dort getestet.
Bei einem Aufruf mit den gleichen Parameter-Werten gibt es in beiden Anwendungen keine AV und auch das weitere Senden einer Mail klappt.

Eine Idee woran das liegen könnte?
Erfahrung ist etwas, daß man erst bekommt, kurz nachdem man es dringend gebraucht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.905 Beiträge
 
Delphi 12 Athens
 
#2

AW: Win11 AV in ntdll.dll

  Alt 11. Mai 2024, 21:14
Das ist leider die Tücke, wenn man so alte Entwicklungsumgebungen nutzt. Die können keine Programme für aktuelle Windowsversionen erstellen. Im Ergebnis schickt Windows dann jede Menge Emulationen und Kompatibilitätseinstellungen ins Rennen, damit solche Software möglichst fehlerfrei läuft.

Du kannst versuchen ein aktuelles Manifest zu verwenden, so dass Windows 11 keine Kompatibilitätseinstellungen mehr aktiviert. Allerdings kann es sein, dass dann andere Sachen nicht mehr funktionieren.

Am sinnvollsten wäre, eine neuere Delphiversion zu nutzen. Du könntest es ja zumindest mal mit der aktuellen Trial versuchen, um zu sehen, ob es daran liegt.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von cramer
cramer

Registriert seit: 23. Jun 2004
Ort: Velbert (NRW)
108 Beiträge
 
Delphi 2006 Enterprise
 
#3

AW: Win11 AV in ntdll.dll

  Alt 12. Mai 2024, 13:55
Danke für die Antwort, ich habe mich ja von TurboPascal über D1 und D2 bis hin zur Berlin jedes Jahr aktualisiert, ohne die IDE auch umzustellen.

Trial wäre schön aber da ich befinde mich leider in der Komponentenhölle, weil man ja früher jedes Feature (DevExpress und Co) total toll fand und unbedingt nutzen wollte.

Das letzte Update auf 2006 hat damals schon viel zu viel Zeit gekostet.

Für die alten Anwendungen möchte ich das nicht noch einmal machen, da wäre ein komplettes Redesign die bessere Lösung aber auch das kostet Zeit, die ich im Moment überhaupt nicht habe.

Neuere kleinere Projekte laufen seit einiger Zeit über CodeTyphon oder Lazarus pur.

Wenn alle Stricke reißen, lagere ich das Mail senden über Groupwise in die seltsamerweise funktionierende BDS2006 oder Lazarus Console Version aus.
Erfahrung ist etwas, daß man erst bekommt, kurz nachdem man es dringend gebraucht hätte.
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
266 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Win11 AV in ntdll.dll

  Alt 12. Mai 2024, 17:25
Teste, ob dein GWObj wirklich assigned wurde, bevor Du den Login aufrufst. Falls nicht, schau was windows für einen Fehlercode meldet.
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
Benutzerbild von cramer
cramer

Registriert seit: 23. Jun 2004
Ort: Velbert (NRW)
108 Beiträge
 
Delphi 2006 Enterprise
 
#5

AW: Win11 AV in ntdll.dll

  Alt 13. Mai 2024, 10:36
Habe ich geprüft, das Object ist wohl zugeordnet, beide varIs.. functions liefern false zurück, hier mal der komplette Code.
Code:
   OleInitialize(nil); // 2024.05.11.uc // CoInitialize( nil );
   try
      GWobj := CreateOleObject( 'NovellGroupWareSession' );
   except
      on E : exception do begin
         FehlerOK( 'CreateOleObject( "NovellGroupWareSession" ) fehlgeschlagen.' + crlf + E.Message );
         result := -1;
      end;
   end;
   if VarIsNull(GWobj) then FehlerOK( 'GWobj Null');
   if VarIsEmpty(GWobj) then FehlerOK( 'GWobj Empty');
   try
      GwRAobj := GWobj.Login( User, '/ipa-' + Host + ' /ipp-' + Port, Pass, 1 );
      gwInitOK := true;
   except
      on E : exception do begin
         FehlerOK( 'GWobj.Login() fehlgeschlagen.' + crlf + E.Message );
         result := -2;
      end;
   end;
Erfahrung ist etwas, daß man erst bekommt, kurz nachdem man es dringend gebraucht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
427 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Win11 AV in ntdll.dll

  Alt 13. Mai 2024, 12:09
Eventuell nicht relevant, aber Du rufst die Parameter als "User", "Host", "Port", "Pass" auf während die Deklaration von gwInit von "aUser", "aHost", "aPort", "aPass" spricht. Gibt es da eventuell undeklarierte Variablen?
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:04 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