AGB  ·  Datenschutz  ·  Impressum  







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

Compiler Switch

Ein Thema von SyntaxError · begonnen am 4. Jul 2008 · letzter Beitrag vom 4. Jul 2008
Antwort Antwort
SyntaxError

Registriert seit: 19. Jun 2008
16 Beiträge
 
Delphi 2006 Enterprise
 
#1

Compiler Switch

  Alt 4. Jul 2008, 13:30
Hallo,
Ich habe bisher wenige Erfahrungen mit Compiler Switches Delphi, aber ich möchte folgendes realisieren: Während der Entwicklung nutze ich FastMM4 zum MemoryLeaks identifizieren, dazu muss ich die beiden Units FastMM4 und FastMM4Messages einbinden. Ich möchte aber dass die Units nur eingebunden werden wenn ich das Programm in der IDE starte. Gibt es das einen Switch der rausfindet ob das Programm in der IDE gestartet wird oder extern?
gruss
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Compiler Switch

  Alt 4. Jul 2008, 14:18
Hallo SyntaxError,

Was Du willst geht so nicht!
Auch wenn Du "ein Programm in der IDE startest" wir zunächst eine EXE-Datei erstellt, in der alle vorhandenen Units eingebunden sind, und das beinahe unabhäng von der IDE ist.
(Noch gibts richtige Programme und nicht dieses Interpreterfutter)

Aber Du könntest z.B. so etwas nutzen:
Delphi-Quellcode:
{$DEFINE TESTUMGEBUNG}
{$IFDEF TESTUMGEBUNG}
uses FastMM4,unit1;
{$ELSE}
uses unit1;
{$ENDIF}
(Ein Blick ins Handbuch kann da nicht schaden)

Gruß
K-H
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#3

Re: Compiler Switch

  Alt 4. Jul 2008, 14:21
Compilerswitches sind zur Kompilierungszeit aktiv, und da ist es (besser sollte es) egal sein, ob in der IDE oder via DCC32 kompiliert wird.

Eine einfache Abfrage, ob ein Programm in der IDE läuft, kann man über DebugHook>0 durchführen, allerdings sind die Units dann natürlich schon eingebunden.

Andererseits kannst Du zB einen Conditional define IN_IDE in den IDE-Projektoptionen definieren und im Source benutzen, mußt dann aber darauf achten, daß die Release- bzw. die DCC32-Version IN_IDE nicht definert.

Gruß Gammatester

Edit: Wieso erzeugt die Rote Warnung einen leeren Beitrag, der wenn editiert wird nicht leer is??
  Mit Zitat antworten Zitat
SyntaxError

Registriert seit: 19. Jun 2008
16 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: Compiler Switch

  Alt 4. Jul 2008, 14:38
Hallo,
Danke für die Antworten! Stimmt, da hab ich mich wohl falsch ausgedrückt, sorry!
Das mit dem Conditional ist das was ich meinte, also dass ich das Programm compilieren kann mit und ohne diese Units!
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Compiler Switch

  Alt 4. Jul 2008, 15:11
FastMM4 hat eigentlich immer Vorteile, nicht nur zum Debuggen. Der Dreh- und Angelpunkt ist das Configfile von FastMM4, und genau da hab ich angesetzt: Für die Debugversion aktiviere ich die Option "Stackframes erzeugen", und in FastMM4.pas binde ich in Abhängigkeit dieses Compilerswitches dann entweder das Configfile für die Debugkonfiguration ein (mit Memleak-Diagnose usw.) oder das für die Releasekonfiguration, in der FastMM4 einfach nur brav ein flotter Memorymanager ist. Funktioniert wunderbar.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  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 11:20 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