AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Exe-Icon bei Delphi-Konsolenanwendung ?
Thema durchsuchen
Ansicht
Themen-Optionen

Exe-Icon bei Delphi-Konsolenanwendung ?

Ein Thema von DevidEspenschied · begonnen am 24. Apr 2008 · letzter Beitrag vom 5. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#1

Exe-Icon bei Delphi-Konsolenanwendung ?

  Alt 24. Apr 2008, 12:19
Kann man für eine Delphi-Konsolenanwendung ein Icon festlegen ? Ich wollte das nämlich heute machen, und über Projekt -> Optionen -> Anwendung gehen, aber dort ist alles grau. Ich kann also kein Icon hinzufügen.

Zurzeit ist aber ein Delphi-Icon eingetragen, und das sieht man auch im Windows Explorer. Ich wollte eigentlich den radikalen Weg vermeiden, mit einem Ressource-Editor das Bild auszutauschen.

Wer kann helfen ?
Devid
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Exe-Icon bei Delphi-Konsolenanwendung ?

  Alt 24. Apr 2008, 12:26
Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  SysUtils;

begin
  { TODO -oUser -cConsole Main : Hier Code einfügen }
end.
Füge die Zeile 5 deinem Projekt hinzu, dann sollte es gehen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#3

Re: Exe-Icon bei Delphi-Konsolenanwendung ?

  Alt 24. Apr 2008, 13:36
Du meinst die Einbindung der Res-Datei. Das habe ich gemacht, woraufhin die IDE meinte, die Datei existiert nicht und wird erstellt.

Folglich verwende ich sie jetzt im Projekt und kann auch etwa Versionsdetails darin abspeichern, aber keine ICO Datei.
Devid
  Mit Zitat antworten Zitat
Benutzerbild von Daniel Schuhmann
Daniel Schuhmann

Registriert seit: 16. Jul 2005
Ort: München
391 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Exe-Icon bei Delphi-Konsolenanwendung ?

  Alt 24. Apr 2008, 14:15
Erstell eine Textdatei "Icon.rc":

Code:
100  ICON DISCARDABLE "AppIcon.ico"
Die Datei wandelst Du in eine .res um (Eingebeaufforderung oder Batchdatei):

Code:
brcc32 Icon
Und bindest sie ins Programm ein:

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

{$R Icon.res}
uses
  Windows;

begin

end.
Daniel Schuhmann
  Mit Zitat antworten Zitat
DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#5

Re: Exe-Icon bei Delphi-Konsolenanwendung ?

  Alt 24. Apr 2008, 14:29
Tatsächlich, das hat funktioniert. Danke.

Was mich aber wundert, ist der Umstand, dass ich in den Projektoptionen trotzdem nichts am Icon ändern kann. Nicht dass ich das jetzt muss, ich will aber verstehen, warum mir dieser Weg bei Consolenapplikationen verbaut wird ? Oder vielleicht ist es nur meine Applikation.
Devid
  Mit Zitat antworten Zitat
Benutzerbild von Daniel Schuhmann
Daniel Schuhmann

Registriert seit: 16. Jul 2005
Ort: München
391 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Exe-Icon bei Delphi-Konsolenanwendung ?

  Alt 24. Apr 2008, 17:22
"Das ist eben so"

Hab mich inzwischen einfach dran gewöhnt und mach es immer so - auch bei VCL-Anwendungen. Mit dem Icon in der Anwendungsressource gibt es öfter mal Probleme, besonders beim Austausch von Anwendungen zwischen Delphi <=7 und Delphi 2005-2007/TD.
Daniel Schuhmann
  Mit Zitat antworten Zitat
DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#7

Re: Exe-Icon bei Delphi-Konsolenanwendung ?

  Alt 5. Mai 2008, 12:02
Eine Sache, die hier leider nicht ganz funktioniert, ist das gleichzeitige Einbinden einer Res-Datei für das Icon sowie einer Applikations-Res-Datei für die Versionsinformationen.

Ich habe also folgenden Header im Delphi-Projekt:

Delphi-Quellcode:
PROGRAM PrgName;

{$APPTYPE CONSOLE}

{$R *.res}                   //Res-Datei für Versionsinformationen

{$R Icon.res}                //Res-Datei für Icon
Und als Ergebnis besitzt die Exe-Datei zwar die Versionsinformationen, aber nicht das Icon. Vertausche ich die beiden Res-Zeilen, habe ich den gleichen Effekt.

Sobald ich die Zeile:

{$R *.res}                   //Res-Datei für Versionsinformationen entferne, habe ich wieder das Icon, aber keine Versionsinformationen.

Wie kann ich bei einer Konsolenanwendung beides, also Icon und Versionsinformationen integrieren ?
Devid
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#8

Re: Exe-Icon bei Delphi-Konsolenanwendung ?

  Alt 5. Mai 2008, 12:17
man kann sich auch eine Resource für alles erstellen.

ich selber verwende die Projektoptionen diesbezüglich garnicht mehr.


z.B.: Resource.res = Icon + Versionsinfo + XP-Manifest
Code:
#define   RT_MANIFEST     24
#define   DS_SETFOREGROUND 0x200L
#define   DS_SHELLFONT    (DS_SETFONT | DS_FIXEDSYS)

LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL

1 ICON "icon.ico"

VS_VERSION_INFO VERSIONINFO
  FILEVERSION   2,1,0,18
  PRODUCTVERSION 2,1,0,18
  FILEFLAGSMASK 0x3fL
  FILEFLAGS     0x00L
  FILEOS        VOS_NT | VOS__WINDOWS32
  FILETYPE      VFT_APP
  FILESUBTYPE   0L
  BEGIN
    BLOCK "StringFileInfo"
      BEGIN
        BLOCK "040904e4" // LANG_ENGLISH, SUBLANG_ENGLISH_US, charset:Multilingual
          BEGIN
            VALUE "CompanyName",    "FNS Enterprize's\0"
            VALUE "FileVersion",    "v2.1 (18) beta\0"
            VALUE "LegalCopyright", "© 1997–2008 by FNS Enterprize's™ (himitsu)\0"
            VALUE "LegalTrademarks", "FNS Enterprize's™\0"
            VALUE "Comments",       "FreeWare\0"
            VALUE "Copyright",      "© 2003–2008 by himitsu @ Delphi–PRAXiS\0"
            VALUE "Languages",      "english\0"
          END
      END
    BLOCK "VarFileInfo"
      BEGIN
        VALUE "Translation", LANG_ENGLISH | (SUBLANG_ENGLISH_US << 10), 1252L // carset:Multilingual
      END
  END

1 RT_MANIFEST
  BEGIN
    "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\r\n",
    "\r\n",
    "<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersion=\"1.0\">\r\n",
    " <assemblyIdentity\r\n",
    "   type                 = \"win32\"\r\n",
    "   name                 = \"Borland.Delphi.XP-Application\"\r\n",
    "   version              = \"1.1.0.0\"\r\n",
    "   processorArchitecture = \"x86\"\r\n",
    " />\r\n",
    " <description></description>\r\n",
    " <dependency optional=\"yes\">\r\n",
    "   <dependentAssembly>\r\n",
    "     <assemblyIdentity\r\n",
    "       type                 = \"win32\"\r\n",
    "       name                 = \"Microsoft.Windows.Common-Controls\"\r\n",
    "       version              = \"6.0.0.0\"\r\n",
    "       language             = \"*\"\r\n",
    "       processorArchitecture = \"x86\"\r\n",
    "       publicKeyToken       = \"6595b64144ccf1df\"\r\n",
    "     />\r\n",
    "   </dependentAssembly>\r\n",
    " </dependency>\r\n",
    "</assembly>\r\n"
  END
(wobei ich selber sogar die Icon Daten direkt mit in .RC drin hab ... also nicht mehr als extra .ico-Datei)

übrig bleibt nur noch ein
{$R Resource.res}
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Exe-Icon bei Delphi-Konsolenanwendung ?

  Alt 5. Mai 2008, 12:23
Hi,

Schnell folgendes einfügen:

Delphi-Quellcode:
program xxx;

uses
  Forms, //<--Forms
  ...;

{$APPTYPE CONSOLE}

{$R *.RES}

begin
  //Application.xxx:
  Application.Initialize;
  Application.Title := '';
  Application.Run;
 
 ... weiterer Quelltext
end.
Dann über Projektoptionen Symbol einstellen und Forms und Application.xxx wieder entfernen - fertig.

Mfg
FAlter
[edit] end. natürlich [/edit]
Felix Alter
  Mit Zitat antworten Zitat
DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#10

Re: Exe-Icon bei Delphi-Konsolenanwendung ?

  Alt 5. Mai 2008, 12:28
Der Trick von FAlter funktioniert wirklich und war mir bis heute noch unbekannt. Interessant, wie sich die Delphi IDE austricksen lässt. Vielen Dank.

@himitsu: Daran habe ich auch schon gedacht, nur hat mich der Aufwand abgeschreckt, für jedes Programmrelease eine separate Ressourcen-Datei anpassen zu müssen. Das muss irgendwie über eine Oberfläche wie die Delphi IDE machbar sein. Dank des Tricks ja auch kein Problem.
Devid
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:26 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