bak1/bak2

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Archangel

Betreff: bak1/bak2

BeitragSo, Jun 28, 2009 22:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo =)

Dies beiden Dateien entstehen immer wenn ich meine BB-Datei speicher!!
Wiso gibt es eigentlich eine Memory Access Violation wenn ich die dateien lösche und dann die datei (datei.bb) ausführen will (per include im main-programm)? ... muss ich die dateien meinen Kumpels mitliefern oder kann man den Fehler umgehen, bzw wiso entsteht er??

Vielen Dank schonmal
mfg Archangel
 

FWeinb

ehemals "ich"

BeitragSo, Jun 28, 2009 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Die datein sind Backups deines Codes für 2 Genarationen (heißt 2mal Speichern) die Datein müssen nicht mitgeliefert werden wenn jemand anders den Source Kompiliren will.

mfg

ich
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

Archangel

BeitragMo, Jun 29, 2009 8:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Dateien hängern aber wie schon gesagt per Include in meiner *.exe drinnen ... hmm ... sollt ich also meine *.bb Dateien compilieren .. wie mache ich das, dass nach dem compilieren die dateien immernochnoch für Basic lesbar sind, weil mit basic kann cih ja nur *.exe erstellen aber nichts compilieren! =(

Smily

BeitragMo, Jun 29, 2009 9:03
Antworten mit Zitat
Benutzer-Profile anzeigen
hä?

Du includierst die .bak1 und .bak2-dateien?
wieso machst du sowas?

Normalerweise sind diese bak-dateien für BB vollkommen egal. die werden nur von der GUI erstellt.
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Tankbuster

BeitragMo, Jun 29, 2009 10:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Archangel hat Folgendes geschrieben:
Die Dateien hängern aber wie schon gesagt per Include in meiner *.exe drinnen ... hmm ... sollt ich also meine *.bb Dateien compilieren .. wie mache ich das, dass nach dem compilieren die dateien immernochnoch für Basic lesbar sind, weil mit basic kann cih ja nur *.exe erstellen aber nichts compilieren! =(


Was willst du jetzt genau machen?

Eine *.bb Datei mit BlitzBasic auslesen und interpretieren? Dazu solltest du dich mit Scriptsprachen, ect auseinandersetzen. So einfach wie mit Include geht das dann nicht, weil der Compiler wie gesagt, eine *.bb datei in eine exe umwandelt. Dazu müsste die .exe noch einen Compiler beinhalten....

Und warum sollte Blitz nichts kompilieren können? Ich glaube du verwechselst da was.
Twitter
Download Jewel Snake!
Windows|Android

BladeRunner

Moderator

BeitragMo, Jun 29, 2009 12:15
Antworten mit Zitat
Benutzer-Profile anzeigen
die .exe die BB erstellt IST ein Kompilat.
Die bak1 und bak2 sind wie schon erwähnt Backup-Dateien, sie müssen weder mitgegeben noch überhaupt erstellt werden (kann man in der blitzide.prefs im cfg-Ordner von BB einstellen wieviele Backupgenerationen gespeichert werden sollen, default ist 2)
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Archangel

BeitragMo, Jun 29, 2009 12:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein ... die Datei xxx.bb hängt in meinem programm per include drinne ... beim speichern von xxx.bb wird die datei xxx.bb_bak1 erstellt. Ich Kopiere nur meine Programm.exe und die xxx.bb in einen ordner und ziehe diesen per USB stick auf den rechner eines kumpels.

wenn ich jetzt die exe starte kommt ein Fehler "Memory Access Violation!"


und ich wollte wissen wiso der fehler entsteht!

BladeRunner

Moderator

BeitragMo, Jun 29, 2009 13:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Die datei xxx.bb wird beim compilieren mit in die Exe gebaut und muss NICHT mitgegeben werden.
Dein MAV kommt wohl eher daher dass Du feste Dateipfade verwendest um was von extern einzuladen oder so, sprich es ist auf dem Rechner deines Kumpels was anders als auf deinem.

Ohne Code wie üblich nix los.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Archangel

BeitragMo, Jun 29, 2009 13:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics 1024,768,16,2

Global x,y,z,px=7,py=1
Global mob,mobgo
Global mob1x=2,mob1y=2,mob2x=2,mob2y=3
Global token,death
Global zeit,frmtime_fire,frmtime_flag
Global timer         = CreateTimer(60)
Global player        = LoadImage("char.bmp")
Global mpics         = LoadAnimImage("mob.png",32,32,0,2)
Global eldor_map     = LoadAnimImage("map.bmp",32,32,0,40)
Global mirror        = LoadImage("mirror.bmp")

Include "ed.bb"
Include "mb.bb"

ClsColor 255,255,255
Cls
MaskImage mirror,255,255,255
DrawImage mirror,268,195
WaitKey
ClsColor 0,0,0

Repeat
SetBuffer BackBuffer()
Cls
Color 255,255,255

eldor()
mobs()
zz()

x=px*32:y=py*32:DrawImage player,x,y
x=mob1x*32:y=mob1y*32:DrawImage mpics,x,y,0
x=mob2x*32:y=mob2y*32:DrawImage mpics,x,y,1
If KeyDown(200) And death=0 Then:If map(px,py-1)<2 Then py=py-1
EndIf
If KeyDown(208) And death=0 Then:If map(px,py+1)<2 Then py=py+1
EndIf
If KeyDown(203) And death=0 Then:If map(px-1,py)<2 Then px=px-1
End If
If KeyDown(205) And death=0 Then:If map(px+1,py)<2 Then px=px+1
End If

Text 0,50,mob2x+" :mob2x"
Text 0,62,mob2y+" :mob2y"

Color 0,0,0
If mob1x=px And mob1y=py Then death=1
If death=1 Then Text 200,200,"TOOOOOOT!"

Flip(0)
WaitTimer(timer)
Until KeyHit(1)
FreeImage player
FreeImage mpics
FreeImage eldor_map
FreeImage mirror
FreeTimer(timer)
End


so ... dass ist meine prog.exe!
Ich kopiere die beiden dateien mit dieser prog.exe und den dazugehörigen bildern von A nach B und es funzt nimmer .. nur wenn es im ordner gestartet wird, wo die exe erstellt wurde, dann funktioniert es![/code]

Nova

BeitragMo, Jun 29, 2009 13:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Währe auch von Vorteil wenn du den Code einmal im Debugmodus compilierst und dann auf den PC deines Freundes überträgst. Smile
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit

Archangel

BeitragMo, Jun 29, 2009 13:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich dachte mann kanna uch ohne debug kompilieren ... ok, dann glaube ich, dass ich weiß wo der fehler ist ^^ ... mom ... wanna look ^^

Es funktioniert =) ... danke ^^
Und was macht der debugge mit meinem programm, auser es langsamer zu machen?

Starwar

BeitragMo, Jun 29, 2009 14:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Er zeigt genauere Fehlermeldungen an und hilft dir Feher zu finden und nachzuvollziehen.

NightPhoenix

BeitragMo, Jun 29, 2009 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Debugger verfolgt die Stellen im Code die im Moment von deinem Programm abgearbeitet werden. So zeigt er auch alle Werte von Variablen an, welche gesetzt werden.
Stoppst du dein programm an irgendeiner Stelle oder stürzt es ab so zeigt der Debugger die Stopstelle an und du kannst gleichzeitig alle Werte der Variablen rechts einsehen.
Sehr nützlich um Fehler ausfindig zu machen. Ich wüsste manchmal garnicht was ich ohne machen würde.

Archangel

BeitragMo, Jun 29, 2009 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Hätte da noch eine Frage ... ist es normal, dass wenn cih mein programm testen möchte der arbeitsspeicher in langsamen 4KB schritten von BB3D zugemüllt wird?? ... kein einziges "LOAD" hängt in der Schleife nur ein ReadFile und ein CloseFile, aber das dürfte ja den Arbeitsspeicher nicht belasten, da die datei ja wieder geschlossen wird!

bitte um klärung!

Xeres

Moderator

BeitragMo, Jun 29, 2009 16:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
bitte um klärung!

bitte um Code... Rolling Eyes
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Archangel

BeitragMo, Jun 29, 2009 16:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Den kannst du haben!! =)

Code: [AUSKLAPPEN]
Function eldor()
   karte$=ReadFile("eldor"+token+".map")
   For x=0 To 27:For y = 0 To 23
      tile=ReadLine(karte$)
      map(x,y)=ReadInt(karte$)
   Next:Next
   CloseFile(karte$)
   
   For x=0 To 27:For y=0 To 23
      DrawBlock eldor_map,x*32-scrollx,y*32-scrolly,map(x,y)
   Next:Next
End Function

Nicdel

BeitragMo, Jun 29, 2009 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Wird die Funktion in einer Schleife ausgeführt?
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Archangel

BeitragMo, Jun 29, 2009 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Jupp ... steht ja 2 posts obendrüber =)

Xeres

Moderator

BeitragMo, Jun 29, 2009 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist unnötig die Karte jeden Frame von der Festplatte zu laden. Einmal laden, dann nur noch anzeigen. Sonst macht es ja auch keinen Sinn, die Daten in einem Array zu speichern.
Genauso wie Bilder, Sounds usw. werden Dateien in Integer-Variablen Gespeichert, nicht in Strings.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

The_Nici

BeitragMo, Jun 29, 2009 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Na dann ists klar dass es den Arbeitsspeicher zumüllt.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group