Änderung bei Close-Befehlen

Ab Version 5.6.04 gibt es eine Vereinfachung für alle Befehle, die einen Deskriptor schließen: Die Angabe von Null oder einem Fehlercode (< 0) wird einfach ignoriert.


Dadurch kann das Abfragen des Deskriptorwerts

if (tHandle > 0)
  SckClose(tHandle)

vor dem Aufruf des Befehls entfallen. Dies vor verkürzt vor allem das "Aufräumen" von Deskriptoren nach einem try-Block.

try
{
  tSck # SckConnect(aServerName,aPort,0,10000);
  tMsx # MsxOpen(_MsxWrite | _MsxSocket,tHdl);
  ...
}

MsxClose(tMsx);
SckClose(tSck);

Bei positiven Deskriptorwerten (> 0) findet nach wie vor eine Überprüfung auf Typ und Gültigkeit des Handles statt. Das doppelte Schließen eines Deskriptors führt daher immer noch zu einem Laufzeitfehler.

Die Änderung betrifft folgende Befehle:

  • BinClose
  • ChartClose
  • ChartDataClose
  • ComClose
  • CteClose
  • DdeServiceClose
  • DllUnload
  • FsiClose
  • FsiDirClose
  • FsiMonitorClose
  • HttpClose
  • JobClose
  • MailClose
  • MemFree
  • MsxClose
  • OdbcClose
  • PdfClose
  • PdfPageClose
  • PrtDeviceClose
  • PrtFormClose
  • PrtJobClose
  • RecBufDestroy
  • RecFilterDestroy
  • SckClose
  • SelClose
  • StoClose
  • SysTimerClose
  • TapiClose
  • TextClose
  • UrmClose
  • WinClose
  • WinDestroy

2 Antworten

  1. Das ist eine gute Sache.

    Apropos Deskriptor: Ganz im Gegensatz zu seinem Namen lässt sich einem Deskriptor im Debugger nur recht wenig Deskriptives entlocken ;-).
    Gibt es Pläne, diese Situation zu verbessen, also etwa Zugriffe auf Felder, die über einen Datensatzpufferdeskriptor referenziert werden zu ermöglichen, interessante Zusatzinfos anzuzeigen (ist der Dekskriptor noch gültig, Art des Deskriptors usw.), das Verfolgen eines CteObjekts (Liste, Baum usw.) durch Aufklappen einer Tree-Struktur zu erleichtern, usw. sicher gibt es noch mehr Ideen dieser Art?

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht.

Leave the field below empty!

[newsletter2go form_type=subscribe]
[newsletter2go form_type=unsubscribe]

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

Consent-Management-Plattform von Real Cookie Banner