BMK über eigene Exe aufrufen - Build haut nicht hin
Übersicht

![]() |
DaysShadowBetreff: BMK über eigene Exe aufrufen - Build haut nicht hin |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() MfG DaysShadow |
||
Blessed is the mind too small for doubt |
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. ![]() 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. ![]() 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. ![]() |
||
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dass der Source der bmk ja da ist, daran hab ich gar nicht gedacht....dankeschön ![]() MfG DaysShadow |
||
Blessed is the mind too small for doubt |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group