Permalänk
Medlem

exe filen har slutat funka

Vad kan ha hänt när man får detta felmeddelande????
detta är ett litet simpelt program som någon gjort på en kaffe rast, som jag fick vid en lia praktik.
Programmet döper om id koden i en koordinat fil som heter nn.geo geo filen består av id, x, y, z, punkt kod.
Är det någon som vet en lösning och har ev kunskap om att göra ett snarlikt program .geo är en text fil.
Det kanske räcker med att öppna exe filen och ta koderna tyvärr vet jag inte hur man öppnar eller kikar i exe fil.

Information om att aktivera JIT-felsökning i stället för den
här dialogrutan finns i slutet av det här meddelandet.

************** Undantagstext **************
System.FormatException: Indatasträngen hade ett felaktigt format.
vid System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
vid System.Double.Parse(String s)
vid rename_pile.MainForm.Button3Click(Object sender, EventArgs e)
vid System.Windows.Forms.Control.OnClick(EventArgs e)
vid System.Windows.Forms.Button.OnClick(EventArgs e)
vid System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
vid System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
vid System.Windows.Forms.Control.WndProc(Message& m)
vid System.Windows.Forms.ButtonBase.WndProc(Message& m)
vid System.Windows.Forms.Button.WndProc(Message& m)
vid System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
vid System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
vid System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Inlästa sammansättningar **************
mscorlib
Sammansättningsversion: 4.0.0.0
Win32-version: 4.8.4150.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
rename_bolt
Sammansättningsversion: 1.0.6365.29088
Win32-version: 1.0.6365.29088
CodeBase: file:///C:/Users/nida01/Desktop/drawing%20bults/rename_bolt.exe
----------------------------------------
System.Windows.Forms
Sammansättningsversion: 4.0.0.0
Win32-version: 4.8.4150.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Sammansättningsversion: 4.0.0.0
Win32-version: 4.8.4001.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Sammansättningsversion: 4.0.0.0
Win32-version: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Sammansättningsversion: 4.0.0.0
Win32-version: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Sammansättningsversion: 4.0.0.0
Win32-version: 4.8.4121.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Sammansättningsversion: 4.0.0.0
Win32-version: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
mscorlib.resources
Sammansättningsversion: 4.0.0.0
Win32-version: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_sv_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
Sammansättningsversion: 4.0.0.0
Win32-version: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_sv_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** JIT-felsökning **************
För att aktivera JIT-felsökning (just-in-time ) måste .config-filen för det här
tillämpningsprogrammet eller datorn (machine.config) ha
jitDebugging-värdet angivet i avsnittet system.windows.forms.
Tillämpningsprogrammet måste också vara kompilerat med felsökning
aktiverat.

Till exempel:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

När JIT-felsökning är aktiverad kommer alla undantag som inte hanteras
att skickas till JIT-felsökningsprogrammet som är registrerat på datorn
snarare än att hanteras av den här dialogrutan

bifoga bild
Permalänk
Medlem

Det verkar gå fel när en sträng ska tolkas som ett nummer, så är det så att du matar in något annat än en siffra som nytt id?

Skulle du kunna inkludera en kort exempel-fil som man kan använda som indata och exempel på vilket resultat det ska generera? Känns som att det inte krävs särskilt många rader Python för att knacka ihop det du vill ha

Permalänk
Medlem

eftersom 'JIT' fins så är det förmodligen i grunden en JAVA-program som exekveras.

men först - kolla din indata att man inte bytt mellan "." och "," dvs. använder decimalpunkt eller decimalkomma, vilket påverkas (ibland) med vilken nationalitetsinställning du har i datorn eller var filen nu skapades ifrån.

Det är många programmerare som gör misstaget med använda standardlibbar som antingen tar hänsyn till körmiljön när programmet körs och andra som hårdkodar detta på det ena eller andra varianten.

Permalänk
Medlem
Skrivet av xxargs:

eftersom 'JIT' fins så är det förmodligen i grunden en JAVA-program som exekveras.

men först - kolla din indata att man inte bytt mellan "." och "," dvs. använder decimalpunkt eller decimalkomma, vilket påverkas (ibland) med vilken nationalitetsinställning du har i datorn eller var filen nu skapades ifrån.

Det är många programmerare som gör misstaget med använda standardlibbar som antingen tar hänsyn till körmiljön när programmet körs och andra som hårdkodar detta på det ena eller andra varianten.

Nah, felmeddelandena nämner Windows Forms och .NET Framework så jag skulle satsa på ett gammalt Windows forms program

Visa signatur

| EVGA Z170 FTW | i7 6700k | ASUS RTX 3070 | 16GB DDR4 3200MHz | Cooler Master V850 | Samsung 840 Evo 250GB + 2x WD Black 500GB + Seagate 2TB SSHD + Samsung 970 Evo M.2 500GB |

Permalänk
Medlem

Mest sannolikt är indata fel.

Ett annat problem är att programmet troligen är skrivet med förutsättning att det körs under vissa regionala inställningar. Om det är tänkt att köra under amerikanska regionala inställningar så förväntar programmet sig . (punkt) som decimalseparator, men om det är tänkt att köra under svenska inställningar så är , (komma) förväntat som decimalseparator.

Man kan se i stack-tracen att den anropade metoden inte har en IFormatProvider som parameter, vilket den hade haft om programmet hade varit skrivet av någon som visste vad den höll på med.

Permalänk
Medlem

Så här blir det när man skall göra om filen.
Jag har samma dator som sist, if har windows kommit med en massa uppdateringar som även satte win mobil ur funktion.
använder inte detta lilla program dagligen sist var ett år sedan men det är guld värt. när man är många på bygget. och man själ skall ansvara för redovisningar. tar tid att döpa om alla id.
skulle kunna dela ut denna fil om det är någon som vill se vad som kan vara fel. men vet inte om man kan dela ut filer här?

Permalänk
Medlem

följdfråga

Skulle det kunna vara så att det skall vara så att någon ting i filen pekar mot något annan fil? som skall vara med men vad jag miss är det bara denna exe fil jag har använt.

då borde man kunna se det i exe filen eller, nu vet jag inte hur man gör och hur man gör och skall kika efter.

Permalänk
Medlem
Skrivet av nisse74:

Programmet döper om id koden i en koordinat fil som heter nn.geo geo filen består av id, x, y, z, punkt kod.

Har du provat kört på gammal .geo fil som du vet funkat förut? Det kan ju helt enkelt vara fel på infilen...

... eller så är det sannolikt nån nationell formatändring eller liknande som skett som folk är inne på i tråden redan.
Du kan ju alltid skapa en kopia av infilen och prova ersätta alla punkt med komma (eller tvärtom) i tex notepad, och sen prova köra filen igen.

Visa signatur

A modest man is usually admired, if people ever hear of him.

Permalänk
Medlem

vid System.Double.Parse(String s)

detta är antagligen problemet. Någon koordinat i filen är fel. Kolla så att det inte har smugit sig in ett mellanslag eller annat tecken som inte är en siffra. Ett annat vanligt förekommande problem är ifall programmet förväntar sig decimaler från någon annan kultur. Exempelvis ifall man använder , eller .

Visa signatur

| Ryzen 5800x | Asus prime x470 pro | Asus rtx 3080 tuf oc | Gskill 32gb 3,6ghz | Dell S2721DGFA | Asus MG279Q |

Permalänk
Medlem

nä det är helt stopp.
samma med gamla som nya

Permalänk
Medlem
Skrivet av nisse74:

nä det är helt stopp.
samma med gamla som nya

testa att ändra följande till . eller , (beroende på vad som är satt) och se om det hjälper:

control panel -> Region -> Additional settings -> Decimal symbol

Visa signatur

| Ryzen 5800x | Asus prime x470 pro | Asus rtx 3080 tuf oc | Gskill 32gb 3,6ghz | Dell S2721DGFA | Asus MG279Q |

Permalänk
Medlem

löst

löst
Permalänk
Medlem

löningen

@Ragin Pig:
Där satt det.
tydligen. och data burken vill inte behålla denna inställning , varje gång man startar upp den så ändrar den denna inställning.

Permalänk
Hedersmedlem
Skrivet av nisse74:

@Ragin Pig:
Där satt det.
tydligen. och data burken vill inte behålla denna inställning , varje gång man startar upp den så ändrar den denna inställning.

Är det bara vid ett eller ett fåtal ställen så kan du ändra koden.
T ex (från Stack Overflow, lätt modifierat):

CultureInfo usCulture = new CultureInfo("en-US"); NumberFormatInfo dbNumberFormat = usCulture.NumberFormat; double number = double.Parse(db.numberString, dbNumberFormat);

Det bör göra så att det fungerar med punkt, eftersom USA använder punkt som decimaltecken. Om det är komma som ska fungera får du ändra till en annan culture. Gissningsvis bör "sv-SE" fungera isåfall.
OBS att allt ovan är otestat.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk
Medlem

@Thomas:
Jag har noll koll på hur program byggs upp. men skulle vilja utforska detta lite mer nu.
Jag har provat att öppna filerna som länkas med i felmeddelandet. med anteckningar och worpad men texten vill inte visa sig bara hieroglyfer i text. behöver man något annat program?

Finns dessa filer inbakade i exe filen? om jag byter dator räcker det med att ta med den exe fil, (har för mig den dagen jag fick det minns jag bara hade exe filen, men kan hända att det var några till)

Är exe filen något att kika i eller innehåller den bara länkar till andra filer? och vad har man för program för att kika i exe filen.

Permalänk
Hedersmedlem

Aha, du har ingen källkod till programmet? Isåfall blir det värre. Det är nog tekniskt möjligt att ändra det ändå, men långt mer komplext.

I korthet så skapas .exe-filen av en kompilator, ett program som läser in källkod (ren text) och konverterar det till något datorn kan använda. Om du inte har källkoden så är det mycket svårare att göra ändringar i programmet.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk
Medlem

@Thomas:
Går det att flytta detta program till en annan dator med hjälp av enbart exe filen? eller ligger det mer filer som behövs tro?
Om något tips på var man kan hitta dem?

Permalänk
Hedersmedlem

@nisse74
Det beror på programmet. Är det som det ser ut "rename_bolt.exe" du kör? Kopiera isåfall hela mappen den ligger i till den andra datorn så hänger sannolikt allt med.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200