---
title: "Gui:et hänger sig"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/129767-gui-et-hänger-sig"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "joxxe"
published: "2005-06-10T09:26:51.000Z"
updated: "2005-06-15T09:21:29.000Z"
replies: 9
views: 596
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/129767-gui-et-hänger-sig"
---

# Gui:et hänger sig

## #1 — joxxe, 2005-06-10T09:26Z

Jag har gjort ett simplet SFV checker program nu. De funkar finemang.
Dock har jag ett litet problem, eller ganska stort faktiskt.
Medans den kör crc funktionen på filerna, och detta görs i en loop, så "hänger sig" programmet. Men det går att skriva till terminalen, för den skriver ut "Working" för varje fil. Så jag ser att den arbetar. Men jag vill kunna skriva till det grafiska också. För just nu gör den inte det förs då loopen är klar och programmet inte längre är "hängt".

Här är koden för programmet:
<http://pastebin.se/1412>

Permalänk: https://www.webforum.nu/p/129767

## #2 — Nickemannen, 2005-06-10T09:47Z

Du får ha en tråd som kör din crc check.
På det sättet så finns tråden fortfarande kvar som hanterar gui:t.

Permalänk: https://www.webforum.nu/p/1629092

## #3 — joxxe, 2005-06-10T09:53Z

Hmm okej, jag är rätt ny på C. Hur skulle jag skriva det?
Kan du ge mig ett exempel? Eller tom kanske fixa det i koden? Vorre skit schysst!!

Permalänk: https://www.webforum.nu/p/1629094

## #4 — PeW, 2005-06-10T10:28Z

Vad är det till för plattform?

Permalänk: https://www.webforum.nu/p/1629101

## #5 — pimme, 2005-06-10T11:58Z

Ser ut att vara GTK/Linux.
De gånger jag behöver göra nånting sånt så brukar jag använda fork() för att köra loopen.
Att köra det i olika trådar är också en möjlighet.

Permalänk: https://www.webforum.nu/p/1629121

## #6 — joxxe, 2005-06-10T18:35Z

det är till linux ja...Gtk :) 
kan du förklara hur ja ska använda fork?

Permalänk: https://www.webforum.nu/p/1629259

## #7 — PeW, 2005-06-10T20:42Z

Första träffen på google: <http://www.amparo.net/ce155/fork-ex.html>  ;)

Permalänk: https://www.webforum.nu/p/1629300

## #8 — Aleph_One, 2005-06-10T22:11Z

Använder du gtk+ 2.0, kan du lika bra använda trådbiblioteket där också. Det är ganska lättanvänt. Här är ett litet exempel på hur du kan göra..

```
#include <gtk/gtk.h>

void *crc_check(void *args);

int main (int argc, char **argv) 
{
	g_thread_init(NULL);
	gdk_threads_init();
	
	gdk_threads_enter ();
	g_thread_create(crc_check, NULL, FALSE, NULL);
	gtk_init (&argc, &argv);
	gdk_threads_leave();
	
	int count = 0;
	while(count++ < 10)
	{
		printf("\033[1;31mThread 1\033[0m\n");
		g_usleep(100000);
	}
	
	return 0;
}

void *crc_check(void *args)
{
	int count = 0;
	while(count++ < 10)
	{
		printf("\033[1;32mThread 2\033[0m\n");
		g_usleep(100000);
	}
	
	return 0;
}
```

<http://www.gtk.org/api/2.6/gdk/gdk-Threads.html>

Permalänk: https://www.webforum.nu/p/1629317

## #9 — joxxe, 2005-06-13T08:56Z

hmm jag har TYP löst det mer fork() nu istället. Fungerar fint, ena processen sköter guiet och den andra crc checkar, dock kan man ju inte använda X funktioner i båda processerna, så jag måste på något sätt "meddela" huvudprocessen när crcchecken är klart och då skriv ut ny text till guiet. Kan jag göra någon funktion eller liknande som ligger och vänta på att köras, så när tex en global variabel ändras så körs den.

Permalänk: https://www.webforum.nu/p/1629986

## #10 — Aleph_One, 2005-06-15T09:21Z

Kanske inte det här svaret du var ute efter just nu, men använd trådar, det är så man brukar lösa såna här problem.

Permalänk: https://www.webforum.nu/p/1630837

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/129767-gui-et-hänger-sig
