Ja natürlich, Himitsu! Ich verwende Eure Vorschläge unterschiedlich:
1):
Zum Debuggen von Multipräzisions-Strukturen (MPA) brauche ich an sehr vielen Stellen diverse Print-Anweisungen für MPA-Variablen, MPA-Vektoren und MPA-Matrizen. Wenn ich auch nur eine vergesse auszukommentieren, stürzt die Excel-
DLL ab: Excel ist ja keine Console-Anwendung und kennt kein
WriteLn(...‘);
. Dafür ist
IsLibrary
als "Lebensversicherung" hervorragend geeignet: z.B.
Delphi-Quellcode:
Print_MPA_Matrix(..)
IF IsLibrary Then
Exit;
End;
...
WriteLn(…);
...
End;
2):
Deinen ursprünglichen Vorschlag zur Unterdrückung der Fehlermeldungen in Excel:
Delphi-Quellcode:
{$IFDEF MitFehlermeldungen}
Fehlermeldung('...');
{$ENDIF}
konnte ich für meine Zwecke etwas modifiziert leichter einsetzen:
Delphi-Quellcode:
{$IFDEF OhneFehlermeldungen}
// ---> Nur für die Excel-DLL‘s
{$ELSE}
Fehlermeldung('
...');
{$ENDIF}
So hatte ich lediglich in 8
DLL's die Projektoption "OhneFehlermeldungen" einzustellen gehabt. Das war in meinem Fall zweckmäßiger, sonst hätte ich die Projekt-Optionen in sehr vielen Berechnungs-Units ändern müssen.
Dein Vorschlag hat für mich den Vorteil, daß der Text der Fehlermeldungen gar nicht in die
DLL gelinkt wird.
Danke nochmal!
Ich habe die Möglichkeit der von Dir genannten globalen vererbbaren Projektoption "Alle Konfigurationen - Alle Plattformen" zu meiner Schande nicht gekannt.
Viele Grüße
Andreas