Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

DOS-Box im Hintergrund

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 21.05.2007, 09:54    Titel: DOS-Box im Hintergrund Antworten mit Zitat

Hallo, Forum,
ich bin neu hier im Forum und habe folgendes Problem:
Ich habe versucht, mit der FreeBasic-IDE ein GUI-Programm für Windows zu compilieren. Zunächst kam dann beim Starten des Programms immer die DOS-Box im Hintergrund. Dann habe ich in den Compiler-Einstellungen -s GUI eingefügt. Seitdem weigert sich die IDE, das PRog zu compilieren. Sie friert auf halbem Weg ein und muß per Task-Manager beendet werden. Und das auch, nachdem ich den Eintrag -s GUI wieder entfernt habe.

Ausprobiert mit der IDE 0.17 und 0.15 unter WinXP und Win98.


Mit FBEdit funktioniert es problemlos.

Mach ich da was falsch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eisbaer



Anmeldungsdatum: 16.10.2004
Beiträge: 354
Wohnort: Deutschland,Bayern

BeitragVerfasst am: 21.05.2007, 10:11    Titel: FB Fehler Antworten mit Zitat

Probiere es mal mit einigen von den Option:

http://www.freebasic-portal.de/befehlsreferenz/der-compiler-458.html

http://www.freebasic-portal.de/freebasic-faq/dos-fenster-im-hintergrund-beseitigen-2.html


Zitat:
-e

Einfache Fehlerunterstützung einschalten. Es werden Fehlererkennungs - Funktionen
in das fertige Programm eingefügt, die zum Programmabbruch führen können, wenn ein
schwerer Fehler auftrat.


Zitat:
-ex

Erweiterte Fehlerunterstützung einschalten, wie die Option -e aber mit der Möglichkeit,
eigene Fehlerbehandlung zu implementieren. Mit Hilfe der RESUME Anweisung kann man
auf einen Fehler reagieren und das Programm muss nicht zwangsläufig beendet werden.
Zitat:
-exx

Wie -e und -ex, aber mit zusätzlicher Prüfung auf gültige Arrray-Grenzen und korrekte
Verwendung von Zeigeradressen.

Zitat:
-g


Informationen zur Fehlersuche werden in das Programm integriert. Aufgrund der
zusätzlichen Informationen ist es möglich, zur Laufzeit das Programmm Schritt für
Schritt auf seine Funktionsweise hin zu überprüfen. Das schrittweise Ausführen von
Programmen wird mit Hilfe von Debuggerprogrammen realisiert, FreeBASIC liegt der
GNU Debuger gdb bzw. gdb.exe bei. Es gibt aber auch frei erhältliche grafische
Oberflächen, die das Debuggen erheblich vereinfachen und die Debug-Information
visuell aufbereiten.



Oder stell uns den Code zur Verfügung, damit wir den Fehler bei uns selbt erzeugen können;

Grüße Eisbaer
_________________
Eigene Webseite:
http://www.eisbaer-studios.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 21.05.2007, 10:46    Titel: Antworten mit Zitat

Es liegt definitiv nicht am Code. Wie gesagt: Der FBEdit compiliert das Prog ohne Anstand, auch mit der Option -s GUI (Praktischerweise läßt sich das bei FBEdit über einen Dialog einstellen...
happy )

Hab es jetzt nochmal ausprobiert: unter Win98 (in VirtualPC grinsen) hat es funktioniert, unter WinXP beendet sich die IDE (FB 0.17)beim Compilieren, ohne Warnmeldung, ohne das Prog zu compilieren. Mir scheint, da gibt es ein Problem mit XP?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 21.05.2007, 12:26    Titel: Antworten mit Zitat

Elektronix hat Folgendes geschrieben:
Es liegt definitiv nicht am Code. Wie gesagt: Der FBEdit compiliert das Prog ohne Anstand

kann aber trotzdem am code liegen, sprich: wie die IDE mit dem kompiler kommuniziert.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 21.05.2007, 12:52    Titel: Antworten mit Zitat

Na gut, hier:

Code:
''' Lutz Ifers WinAPI-Tutorial
''' LutzIfer.FreeBasic.de
'''
''' Kapitel 1.2 - "Erzeugen eines Fensters"

option explicit
#include "windows.bi"
const ProgrammName = "Erzeugen eines Fensters"
dim as HWND   MeinFenster

declare function Fenster(byval hWnd as HWND, byval message as UINTEGER,_
    byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT

declare function WinMain(hInstance as HINSTANCE, hPrevInstance as HINSTANCE,_
   szCmdLine as PSTR, iCmdShow as integer) as integer

dim as WNDCLASS   windowclass
with windowclass
    .style         =  CS_HREDRAW or CS_VREDRAW
    .lpfnWndProc   =  ProcPtr(Fenster)
    .cbClsExtra    =  0
    .cbWndExtra    =  0
    .hInstance     =  GetModuleHandle(NULL)
    .hCursor       =  LoadCursor(NULL, IDC_ARROW)
    .hIcon         =  LoadIcon(NULL, IDI_APPLICATION)
    .hbrBackground =  GetStockObject(WHITE_BRUSH)
    .lpszClassName =  StrPtr(ProgrammName)
    .lpszMenuName  =  NULL
end with
RegisterClass @windowclass

   MeinFenster = CreateWindow(_
    ProgrammName, "Titelzeile", WS_OVERLAPPEDWINDOW,_
    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,_
    NULL, NULL, GetModuleHandle(NULL), NULL)
'Message-Loop
ShowWindow   MeinFenster, SW_NORMAL
UpdateWindow MeinFenster

dim as MSG Nachricht
do while GetMessage(@Nachricht, NULL, 0, 0) <> 0
    DispatchMessage  @Nachricht
loop
end Nachricht.wParam


function Fenster(byval hWnd as HWND, byval message as UINTEGER,_
    byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT
   
    if message = WM_DESTROY then
        PostQuitMessage 0
        return 0
    else
        return DefWindowProc(hWnd, message, wParam, lParam)
    end if
end function

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 21.05.2007, 12:55    Titel: Antworten mit Zitat

geht ohne probelme zu komplilieren mit FbIDE. Ich vermute, du hast was an den einstllungen kaputt gemacht.
probiere am besten diese:
Compiler-Pfad: C:\Programme\FreeBASIC\fbc.exe (oder wo auch immer due es hast)
Compile-befehl: "<$fbc>" "<$file>" -s gui
Run-Befehl: "<$file>" <$param>
wenn es nur mit der IDE auf einem rechner nicht geht, klingt das nach "ordentlich zerschossen". also: das hier ausprobieren. wenn's nicht geht, IDE löschen und neu installieren.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 21.05.2007, 13:58    Titel: Antworten mit Zitat

so, allmählich scheint sich das Problem herauszukristallisieren: FBIde funktioniert jetzt mit der Version 0.15 Yahooo!!!! . Version 0.17 stürzt beim Compilieren weiterhin ab. weinen
[EDIT]
Habe mal die fbc.exe aus der Version 0.15 durch die aus der 0.17 ersetzt. Die scheint das Problem zu sein. Wenn ich nämlich den Pfad zu 0.15 setze, funktioniert es wieder.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 21.05.2007, 15:06    Titel: Antworten mit Zitat

Hallo.

Du musst bei FB zunächst zwischen Compiler und IDE differenzieren. Der eigentliche Compiler, fbc.exe ist eine Kommandozeilenanwendung, die über kein UI verfügt (abgesehen vielleicht von der Parametererklärung mit -h). Beim Compiler sind die Versionen 0.17b und 0.18 CVS aktuell.

IDEs gibt es für FreeBasic mehrere. Die gängiste IDE für FB ist die FBIde von VonGondric, welche du aktuell in der Version 0.4.6 auf http://fbide.freebasic.net bekommen kannst.

Bei mir funktioniert diese Version der FBIde übrigens ohne Fehler zusammen mit der aktuellen FB CVS-Version. Das heißt, dass du vielleicht eine alte Version der FBIde verwendest. Beispielsweise die Downloads von FreeBasic.de sind meistens leider alles andere als aktuell.

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 21.05.2007, 15:18    Titel: Antworten mit Zitat

@Sebastian

Das ist mir schon klar (trotzdem danke für den Hinweis, man sollte versuchen, sich klar auszudrücken zwinkern )
Also: Die IDE ist immer die FBIde, die ich mit FB0.15 gesaugt habe, demnach die 0.4.6, die beiden Compiler sind Version 0.15 und 0.17. Die 0.17 ist die, die Probleme macht.
Ich versuchs jetzt nochmal mit 0.16.

Funzt auch nicht...mit dem Kopf durch die Mauer wollen


Übrigens: Wo bekomme ich 0.18 her?


Zuletzt bearbeitet von Elektronix am 21.05.2007, 15:24, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 21.05.2007, 15:23    Titel: Antworten mit Zitat

Die Adresse des tagesaktuellen CVS-Builds hab ich im Beitrag drin (der Link von "0.18 CVS"): http://www.freebasic.net/forum/viewtopic.php?t=6439
Worauf ich eben hinaus wollte: Hast du mal neben der Compilerversion überprüft, ob du die aktuellste Version der FBIde (0.4.6) verwendest? Von alten Versionen sind nämlich verschiedene Bugs bekannt, während 0.4.6 eigentlich ganz zuverlässig arbeitet. neutral
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 21.05.2007, 15:41    Titel: Antworten mit Zitat

So, jetzt hats geklappt. Scheint doch die falsche IDE (4.4) gewesen zu sein...

Danke für die Hilfe.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 21.05.2007, 18:49    Titel: Antworten mit Zitat

Hi,
gut wenn es jetzt funktioniert.
Etwas ist mir noch an dem Code aus Luzifers Tutorial aufgefallen, dort wird eine WinMain deklariert, die nicht im Code existiert (keine Function WinMain(..) )?
Muss aber nicht vom FBC als Fehler beanstandet werden.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 22.05.2007, 09:18    Titel: Antworten mit Zitat

Stimmt, danke für den Hinweis. Ich hab das Prog nur in die IDE kopiert, ohne auf solche Sachen zu achten, um erstmal die IDE und den Compiler kennen zu lernen- und um zu prüfen, ob das Tut funktioniert.. grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
timscheu



Anmeldungsdatum: 10.03.2007
Beiträge: 8

BeitragVerfasst am: 31.05.2007, 11:24    Titel: Antworten mit Zitat

Ich hatte das Prob auch mal. Ich hab dann entdeckt dass man bei der FBIDE alle Compiler-Flags in Anführungszeichen stellen muss.
"<$fbc>" "<$file>" "-s" "gui"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 31.05.2007, 13:12    Titel: Antworten mit Zitat

"-s " "gui" klingt für mich aber verdächtig - schließlich ist das zusammen 1 parameter...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 31.05.2007, 17:37    Titel: Antworten mit Zitat

wenn das klappt ist OK,
aber muss nicht in Anführungszeichen gesetzt werden.
Bei mir geht es immer schon ohne " ".
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz