Toon posts:

[C++] 2005 Pro stijl in vensters weg als het is gecompiled.

Pagina: 1
Acties:
  • 648 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Visual Express versie 8 gedownload en geïnstalleerd. Zodra ik MFC-applicatie in debug-modus gecompileerd had en iemand anders probeerde werkte niet. Gegoogeld dat ik als release moest compileren; stukken kleiner → werkte nog steeds niet. Uiteindelijk vond ik MSDN Post (~5 bestandjes in exe-map doen en dan werkt het).

Nette(re) oplossing? → Diverse posts: /MT i.p.v. /MD (static linking). Helaas veel fouten in de MFC-applicatie.

Msgbox-fout:
De toepassing kan niet worden gestart omdat de configuratie van de toepassing onjuist is. Opnieuw installeren van de toepassing kan dit probleem oplossen. EN: This application has failed to start because the application configuration is incorrect.

Ik heb project opnieuw gemaakt met 2005+ Pro en bronbestanden/resources geladen. Nu werkt alles prima!

Tot slot wil ik de nieuwste stijl als nette kromme randjes als uit C++ wat ik wil omdat die stuk netter uitzien :Y

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Verwijderd schreef op zondag 07 mei 2006 @ 11:51:
Iets anders raars dat hier mee te maken heeft is dat ik niet de nieuwste 'style' zoals nette kromme randen die in c++ zie meer heb zodra het gecompiled is, wat ik (liever) zou hebben omdat het er een stuk netter uit ziet.
Dat is de XP style en daarvoor heb je een manifest nodig.
In VC6 gebruikte ik dit:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity
        name="XBT.Client"
        processorArchitecture="*"
        type="Win32"
        version="1.0.0.0"
    />
    <description>XBT Client</description>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity
                language="*"
                name="Microsoft.Windows.Common-Controls"
                processorArchitecture="*"
                publicKeyToken="6595b64144ccf1df"
                type="Win32"
                version="6.0.0.0"
            />
        </dependentAssembly>
    </dependency>
</assembly>


Maar in VC8 gaf dat een conflict met de VC8 manifest tool. Ik ben er nog niet uit hoe dat opgelost moet worden.

  • MisterData
  • Registratie: September 2001
  • Laatst online: 20-02 17:08
Volgens mij kon je dat oplossen door die manifest los ergens neer te zetten en te laten 'mergen' door de manifest tool... ergens bij project options kun je die er dan bij zetten :)

Verwijderd

Topicstarter
Oplossing:
1. Een file gemaakt met de naam 'manifest.xml', hier de code van OlafvdSpek ingezet.
2. Volgens MisterData: Manifest tool → Input and Output → Additional Manifest Files: 'manifest.xml' in tikken.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 10-12-2025
Verwijderd schreef op zondag 07 mei 2006 @ 11:51:
Een aantal weken had ik Visual Express versie gedownloaded en geinstalleerd. Dit ging echter probleemloos in de eerste instantie, maar zodra ik mijn (MFC) applicatie had gecompiled in debug mode en naar iemand op had gestuurt dan werkte dit niet.
Ik natuurlijk gegoogled en uitgevonden dat ik als release moest compilen, stukken kleiner en tot mijn grote verbazing werkte het nog steeds niet. Uiteindelijk ben ik dus bij http://forums.microsoft.c...px?PostID=164465&SiteID=1 uitgekomen, een solution waarmee ik een stuk of 5 bestandjes bij de compiled exe moet doen en dan werkt het.
Helaas is dit een tijdelijke oplossing en zoek ik voor een nettere oplossing, een aantal andere posts zeggen dat ik /MT i.p.v. /MD (static linking). Helaas krijg ik dan een hoop errors in mijn MFC applicatie.
Toch even feedback geven: /MD is de betere oplossing. Die losse bestandjes zijn de losse DLLs. Door die los te houden verbetert het geheugengebruik (want er is maar 1 kopie in RAM nodig), en kan Microsoft indien nodig een security update doen. Geen "tijdelijke" oplossing dus maar de beste.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
MSalters schreef op zondag 07 mei 2006 @ 14:30:
Toch even feedback geven: /MD is de betere oplossing. Die losse bestandjes zijn de losse DLLs. Door die los te houden verbetert het geheugengebruik (want er is maar 1 kopie in RAM nodig), en kan Microsoft indien nodig een security update doen. Geen "tijdelijke" oplossing dus maar de beste.
Het nadeel is dat je zelf die DLLs moet distribueren en je distributie dus (een stuk) groter wordt.

Verwijderd

Topicstarter
Te meer het gewoon een simpel progje van 100 kB is wat simpel gebruikt moet kunnen worden.
Verder geen installatiebestand erbij want dan zou het geen probleem zijn DLL'tjes te installeren.
Pagina: 1