AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy compile problem
Thema durchsuchen
Ansicht
Themen-Optionen

Indy compile problem

Ein Thema von th_bone · begonnen am 11. Aug 2007 · letzter Beitrag vom 11. Aug 2007
 
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Indy compile problem

  Alt 11. Aug 2007, 11:26
Hi,
diese Compiler-Einstellungen sind vielmehr Compiler-Direktiven. Du kannst Dir die Verarbeitung wie die durch einen C-Präprozessor vorstellen. Der Compiler läuft (virtuell) in zwei Schritten über den Quelltext, im ersten werden solche Direktiven ausgewertet, im zweiten der dann resultierende Code kompiliert.
Das was Du in dem geposteten Code findest ist eine Form der bedingten Compilierung, es wird geprüft, ob die entsprechende Bedingung gesetzt wurde und der Code zwischen $IFDEF (und den verwandten) sowie $ENDIF wird nur dann eingefügt, wenn die entsprechende Bedingung gesetzt ist.
Das Setzen findest Du in den Projektoptionen beim Compiler irgendwo (heißt Bedingungen, wenn ich mich nicht irre). Dort kannst Du dann z.B. einfach WidgetWinForms eintragen. Einige solcher Schalter werden aber auch von Delphi selbst gesetzt und sollten deswegen nicht einfach verändert oder per Hand gesetzt werden, dazu gehört unter anderem eben die Version des Compilers selbst und ob es sich um ein Win32 oder Kylix Compiler handelt.

Das Problem in Deinem Fall liegt in folgendem Code:
Delphi-Quellcode:
uses
  Classes,
  IdSocketHandle,
  {$IFDEF WidgetWinForms} 
  IdDsnPropEdBindingNET;
  {$ENDIF} 
  {$IFDEF WidgetVCLLikeOrKylix} 
  IdDsnPropEdBindingVCL;
  {$ENDIF}
Hier steckt einfach das abschließende Semikolon in einer solchen Bedingung, besser wäre es deshalb das ganze in folgende Form zu bringen:
Delphi-Quellcode:
uses
  Classes,
  IdSocketHandle
  {$IFDEF WidgetWinForms} 
  ,IdDsnPropEdBindingNET
  {$ENDIF} 
  {$IFDEF WidgetVCLLikeOrKylix} 
  ,IdDsnPropEdBindingVCL
  {$ENDIF}
  ;
Wie Du siehst wurde das Komma so verschoben, dass es nun vor einem eventuell zusätzlichen Element steht und das Semikolon wird (unabhängig von den bedingten Teilen) direkt am Ende eingefügt.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
 


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 09:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz