BMK über eigene Exe aufrufen - Build haut nicht hin

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

DaysShadow

Betreff: BMK über eigene Exe aufrufen - Build haut nicht hin

BeitragFr, März 13, 2009 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Zum Problem:

Ich wollte mir gerne Buildnummern für Projekte ermöglichen (gibts das schon irgendwie?).
Dazu benenne ich mir die bmk.exe um in z.B. bmk_brl.exe, dann rufe ich mit der selbstgeschriebenen exe, die jetzt bmk.exe heißt, da diese ja von der IDE aufgerufen wird, mit system_(bmk_brl.exe) die eigentliche bmk.exe auf und übergebe ihr alle Parameter, die meine bmk.exe schon bekommen hat.
Klappt auch, nur der Build haut nicht hin.

In der IDE im Output steht dann:
Building XYZ
Process Complete


der Compile- und Linkvorgang fehlt, aber ich komme nicht drauf woran das liegt, da ja alle Parameter ganz normal an die bmk_brl.exe übergeben werden...

Vielleicht kann mir ja jemand helfen Smile
MfG DaysShadow
Blessed is the mind too small for doubt
 

#Reaper

Newsposter

BeitragSa, März 14, 2009 0:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hatte es so auch schonmals versucht. Habe diese Funktionsweise dann aufgegeben, da ich es nicht hinbekommen habe die Projekt(.exe) (welche ja von bmx auch gestartet wird), über die IDE wieder zu schließen.
Also normal ist das bei der bei der MaxIDE so:
->Build&Run->bmx(.exe) mit Build&Run Parameter->Compiled->Ruft dann Projekt.exe auf->Editor kann (wenn man eben Escape in der Console drückt) bmx.exe mitsamt der Projekt.exe killen. Wenn ich nun aber noch meine eigene bmx.exe mit Build-Counter drinnen habe, will das nicht mehr gehen. Die Projekt.exe läuft dann weiterhin. Confused
Da ich dann schlichtweg zu faul war, es anders (z.B. über Parameter-Manipulation und dann die Projekt.exe selber ausführen) zu machen, habe ich es einfach direkt in die eigentliche bmx.exe geschrieben. Der Code wird ja im Ordner ".../BlitzMax/src/bmk" mitgeliefert.

Habe den Code dann einfach etwas erweitert:

Hinweis: Der Code war bislang nur für micht gedacht, und ist deshalb sehr einfach und nicht sonderlich ordentlich gehalten. Ich übernehme keine Garantie für irgendetwas!

UpdateBuildNr.bmx
Code: [AUSKLAPPEN]
Function UpDateBuildNr:Short(args:String[])
   Local number:Short    = 0
   Local filename$    = StripAll(args[0])
   Local newpath$       = StripExt(args[0])
   Local buildfile$    = newpath$+".BuildNr.bmx"
   Local fl:TStream
   'Print "FileName: "+filename
   'Print "NewPath: "+newpath
   'Print "BuildFile: "+buildfile
   
   If FileType(buildfile$)=0 Then
      If Not CreateFile(buildfile$) Then Print "Can't create BuildFile!"
      
      fl = WriteFile(buildfile$)
      WriteLine fl, "Const BUILDNUMBER:Short = 1"
      CloseFile fl
      
   Else
      fl = ReadFile(buildfile$)
      
      Local line$ = ReadLine(fl)
      
      line = Replace( line, "Const BUILDNUMBER:Short = ", "")
      
      number = Short(line)
      number :+ 1
      
      CloseFile fl
      
      If Not CreateFile(buildfile$) Then Print "Can't create BuildFile!"
      fl:TStream = WriteFile(buildfile$)
      
      WriteLine fl, "Const BUILDNUMBER:Short = "+number
      CloseFile fl
   EndIf
   
   Return number
End Function


Diese .bmx wird dann einfach in der bmk.bmx included und noch eine kleine Änderung etwas weiter unten:
Code: [AUSKLAPPEN]
Select cmd.ToLower()
Case "makeapp"
   Local BuildNr:Short = UpDateBuildNr(args)
   SetConfigMung
   Print "BuildNumber: "+ BuildNr
   MakeApplication args,False
Case "makelib" ;.......


Einfach nur noch compilen, und natürlich die Original bmx(.exe) vorher umbenennen. Wink
Dann nur noch in deinem Projekt die Projekt.BuildNr.bmx includen, und das wars dann auch schon.


MfG
#Reaper

PS: Wehe es beschwer sich einer, dass ich "Number" mit "Nr." abgekürzt habe. Wink
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

DaysShadow

BeitragSa, März 14, 2009 0:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Dass der Source der bmk ja da ist, daran hab ich gar nicht gedacht....dankeschön Smile

MfG DaysShadow
Blessed is the mind too small for doubt

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group