Erkennung Debug- oder Release- Mode

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Vbxler
Beiträge: 129
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Erkennung Debug- oder Release- Mode

Beitrag von Vbxler »

Gibt es eigentlich eine Möglichkeit, dass im Programmcode erkannt wird, ob die
Anwendung im Debug oder im Release Mode compiliert wurde?

Ich möchte gerne, dass die Anwendung, wenn sie im Debugmode erstellt ist,
auf eine andere Datenbank zugreift als im Releasemode.

Ich könnte mir natürlich ein Flag manuell setzen oder rücksetzen,
aber wenn das automatisch erkannt wird, wäre es natürlich besser.

Danke
Vbxler
-------------------------

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Erkennung Debug- oder Release- Mode

Beitrag von Michl »

Bei mir geht das so (Lazarus 1.5):
- Projekteinstellungen -> Compilereinstellungen -> rechts oben Button[...] klicken und Button [Create Debug and Release modes for new projects] klicken (es werden nun neben dem Default- auch der Release- und Debugmodus erstellt)
- den Modus "Debug" wählen (in der obere Combobox in den Projekteinstellungen)
- Projekteinstellungen -> Compilereinstellungen -> Custom Options -> Button [Definitionen ...] klicken
- jetzt kann man eine eigene Option definieren (z.B. "debug" eingeben und hinzufügen) und im Debugmodus aktivieren

Nun kann man im Code folgendes machen:

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
begin
  {$IFDEF debug}
  Caption := 'Debugmodus';
  {$ELSE debug}
  Caption := 'Release- oder Defaultmodus';
  {$ENDIF debug}
end; 

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Vbxler
Beiträge: 129
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Re: Erkennung Debug- oder Release- Mode

Beitrag von Vbxler »

Danke, das werde ich gleich mal ausprobieren.
Vbxler
-------------------------

Vbxler
Beiträge: 129
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Re: Erkennung Debug- oder Release- Mode

Beitrag von Vbxler »

Funktioniert bestens!

Danke für die Hilfe.
Vbxler
-------------------------

Antworten