Wann kommt eigentlich die Linux-Version?Rubiko hat geschrieben:wann kommt eigentlich ne Demo?
PureBasic 4.00 Beta1 released!
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
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.Programie hat geschrieben:Kann das sein, dass manche Librarys nicht mehr mit PB 4.0 funktionieren?

[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
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 ?
- 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
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
nicht in der Exe erscheinen, Import, Defined usw. sind oftmals wohl Inlcudes
besser geeignet.
Naja, gibt dann auch später weniger Probleme

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- freedimension
- Admin
- Beiträge: 1987
- Registriert: 08.09.2004 13:19
- Wohnort: Ludwigsburg
- Kontaktdaten:
Nicht zu vergessen das neue Prototype welches das Einbetten von Funktionen aus DLLs usw. um einiges erleichtert.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
Was genau verstehst Du daran nichthallodri 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 ?

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 !
benny!
.
nur t0te f1sche schw1mmen m1t dem str0m - 00100 !
-
- Beiträge: 713
- Registriert: 22.03.2005 00:29
- Computerausstattung: Computer und Strom vorhanden
- Wohnort: LK Wolfenbüttel
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:
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
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
- freedimension
- Admin
- Beiträge: 1987
- Registriert: 08.09.2004 13:19
- Wohnort: Ludwigsburg
- Kontaktdaten:
Threadsafe bedeutet gleichzeitig auch immer ein gewisser Performance-Verlust und eine größere Datei, deshalb hat man hier die Wahl.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?
Dankebenny 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)