AGB  ·  Datenschutz  ·  Impressum  







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

RasDialFunc2 mit neuer Delphi Version

Ein Thema von Thomasl · begonnen am 28. Sep 2022 · letzter Beitrag vom 28. Sep 2022
Antwort Antwort
Thomasl

Registriert seit: 19. Jun 2006
Ort: Vreden
67 Beiträge
 
Delphi 11 Alexandria
 
#1

RasDialFunc2 mit neuer Delphi Version

  Alt 28. Sep 2022, 13:54
Also es Funktioniert, ich möchte nur nachfragen was sich in Delphi am verhalten geändert hat.

Die Procedure hat so immer Funkioniert Delphi5,Delphi7,Delphi2010,DelphiXE4,DelphiXE8
Jetzt mit 11.x wird nur noch ein Event geliefert, das steht auch so bei MS hier:
https://learn.microsoft.com/en-us/wi...s-rasdialfunc2
Also habe ich die procedure in eine function geändert, und es Funkioniert wieder.(mit allen Versionen)

Jetzt ist nur die Frage warum das vorher immer Funktioniert hat, war vielleicht in den alten Versionen das Result mit Zufallswerten/alten Werten belegt, und jetzt immer mit "0" ?

alt
Delphi-Quellcode:
procedure RasDialFunc2 (dwCallBackId, dwSubEntry: DWORD; ConnHandle: HRASConn;
        Msg: UINT; RasCS: integer; dwError, dwExtendedError: DWORD); stdcall;
begin
..
end;
neu
Delphi-Quellcode:
function RasDialFunc2 (dwCallBackId, dwSubEntry: DWORD; ConnHandle: HRASConn;
        Msg: UINT; RasCS: integer; dwError, dwExtendedError: DWORD): DWord; stdcall;
begin
...
   Result := 1;
end ;
Thomas Levering
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: RasDialFunc2 mit neuer Delphi Version

  Alt 28. Sep 2022, 14:31
Es war einfach nur falsch implementiert.
* als Prozedur im Delphi
* aber Windows erwartet eine Funktion

Wenn am Prozedurende zufällig im EAX etwas ungleich 0 stand, dann entsprach es deinem neuen Result:=1,
aber war zufällig EAX=0, dann wurde indirekt ein Result:=0 gemacht und peng
$2B or not $2B
  Mit Zitat antworten Zitat
Thomasl

Registriert seit: 19. Jun 2006
Ort: Vreden
67 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: RasDialFunc2 mit neuer Delphi Version

  Alt 28. Sep 2022, 16:28
die älteren Delphi haben EAX unverändert gelassen
die neueren Überschreiben das EAX mit "0"

bei procedure
Thomas Levering
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: RasDialFunc2 mit neuer Delphi Version

  Alt 28. Sep 2022, 17:51
Ahhhhhh...
auch EDX?

OK, also im "Normalfall" eine zusätzlich (winzige) unnötige Operation
und falls Prozedur statt Funktion, dann wenigstens mit definiertem Result (so lange das Result 32 Bit gewesen wäre)
$2B or not $2B
  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 03:12 Uhr.
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