PureBasic 4.00 Beta1 released!

Ankündigungen PureBasic oder die Community betreffend.
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Rubiko hat geschrieben:wann kommt eigentlich ne Demo?
Wann kommt eigentlich die Linux-Version?
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Programie hat geschrieben:Kann das sein, dass manche Librarys nicht mehr mit PB 4.0 funktionieren? :shock:
Nicht nur die, die interne Funktionen von PB benutzen gehen nicht mehr, sondern auch (fast) alle String-Funktionen werden nicht mehr laufen, da es ja jetzt ein neues String-System gibt.
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Code: Alles auswählen

Macro AnotherMacro
  UCase
EndMacro

Macro NewWorld(a=1, b=2, c="Test")
  a#b#er("FAST", AnotherMacro(c))
EndMacro

NewWorld(Message,Request)

; The '#' puts together the 2 parts in one word. So a#b#er becomes MessageRequester when you pass
; Message for a and Request for b.

; The assigning of the values to a and b is only to demonstrate
; the ability for optional parameters. It does not make sense in this example really, as
; NewWorld() would become:

12er("FAST", UCase("Haha"))

Kann mir das mal jemand erklaeren ?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Viele UserLibs sind jetzt wohl entbehrlich, dadurch das unbenutze Proceduren
nicht in der Exe erscheinen, Import, Defined usw. sind oftmals wohl Inlcudes
besser geeignet.
Naja, gibt dann auch später weniger Probleme :allright:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

ts-soft hat geschrieben:Viele UserLibs sind jetzt wohl entbehrlich, dadurch das unbenutze Proceduren
nicht in der Exe erscheinen, Import, Defined usw. sind oftmals wohl Inlcudes
besser geeignet.
Naja, gibt dann auch später weniger Probleme :allright:
Nicht zu vergessen das neue Prototype welches das Einbetten von Funktionen aus DLLs usw. um einiges erleichtert.
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
benny
Beiträge: 383
Registriert: 29.08.2004 09:18
Wohnort: Am Ende des www's
Kontaktdaten:

Beitrag von benny »

hallodri hat geschrieben:

Code: Alles auswählen

Macro AnotherMacro
  UCase
EndMacro

Macro NewWorld(a=1, b=2, c="Test")
  a#b#er("FAST", AnotherMacro(c))
EndMacro

NewWorld(Message,Request)

; The '#' puts together the 2 parts in one word. So a#b#er becomes MessageRequester when you pass
; Message for a and Request for b.

; The assigning of the values to a and b is only to demonstrate
; the ability for optional parameters. It does not make sense in this example really, as
; NewWorld() would become:

12er("FAST", UCase("Haha"))

Kann mir das mal jemand erklaeren ?
Was genau verstehst Du daran nicht :?:

Hier mal ein einfacheres Beispiel :

Code: Alles auswählen

Macro test(a=1, b=1)
  a#b "Hallo Hallodri"
EndMacro

test(de,bug) 
So long,
benny!
.
nur t0te f1sche schw1mmen m1t dem str0m - 00100 !
Toshy
Beiträge: 713
Registriert: 22.03.2005 00:29
Computerausstattung: Computer und Strom vorhanden
Wohnort: LK Wolfenbüttel

Beitrag von Toshy »

Hi.
es ist zwar klar, das man seinen Code ändern muß und globale und lokale Variablen ein wenig anders funktionieren.

Was ich nicht verstehe ist, warum folgenden Code auf einmal nicht geht:

Code: Alles auswählen

Structure structurePB_CS 
  Cnt.l 
EndStructure 

Procedure PB_InitCS(*PCS.structurePB_CS ) 
  *PCS\Cnt=0 
EndProcedure 

Procedure PB_EnterCS(*PCS.structurePB_CS ) 
  !POP Edi           ;POP/PUSH dient zum schnellen Einlesen des Parameters *PCS in das Register EDI 
  !PUSH Edi 
  
  !.loop: 
  ;!PUSH dword 1 
  ;!CALL _Sleep@4 
  !If ~ defined _Sleep@4 | defined @f 
    !extrn _Sleep@4 
    !@@: 
  !End If 
      
  
  !MOV Esi,1 
  !XCHG [Edi],Esi  ;Wir lesen den alten Wert aus und schreiben als neuen 1 rein! 
  
  !CMP Esi,0         ;Alter Wert war null, d.h. die vorige CS ist fertig 
  !JNE .loop         ;Durch das XCHG haben wir automatisch wieder 1 im Speicher 
EndProcedure 
  
Global SichereStrings.structurePB_CS 
PB_InitCS(SichereStrings) 
  PB_EnterCS(SichereStrings) 

Bei aufruf von PB_EnterCS(SichereStrings) erscheint im "Statusfenster unten " Invalid Access Memory.
Ich habe nur mal zum test die procedure ganz geleert, dann ging es. ich dachte nämlich zuerst, das man keine Strukturvariablen mehr übergeben kann.

Und zum zweiten noch, was bedeutet in den Compileroptionen "Create Threadsafe executable", was geschieht mit der Datei dann? Weshalb sollte ohne das nichts Threadsicher sein? Wozu das?

Gruß
Toshy
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Und zum zweiten noch, was bedeutet in den Compileroptionen "Create Threadsafe executable", was geschieht mit der Datei dann? Weshalb sollte ohne das nichts Threadsicher sein? Wozu das?
Threadsafe bedeutet gleichzeitig auch immer ein gewisser Performance-Verlust und eine größere Datei, deshalb hat man hier die Wahl.
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

@Friedrichs:
ließ dir erstmal die komplette Info zur Beta durch und versteh sie am besten auch. :wink:
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

benny hat geschrieben:
Was genau verstehst Du daran nicht :?:

Hier mal ein einfacheres Beispiel :

Code: Alles auswählen

Macro test(a=1, b=1)
  a#b "Hallo Hallodri"
EndMacro

test(de,bug) 
Danke
Antworten