Seite 4 von 5

Re: PureBasic 4.40 beta6

Verfasst: 08.11.2009 20:53
von Falko
Schon lustig, das du so viele Fehlermeldungen erhältst.
Bei mir ist es nur eine und wenn es richtig umgestellt ist, kommt keine.
Die mitgelieferte Library.exe ist daher wohl mit was anderem compiliert worden, da
sie trotz fehlerhaften Source zur Exe compiliert wurde.

OriginalSource aus dem Example-Verzeichnis der neuen Beta

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - Library
;
;    (c) 2003 - Fantaisie Software
;
; ------------------------------------------------------------
;

CompilerSelect #PB_Compiler_OS 
  
  CompilerCase #PB_OS_Windows

      If OpenLibrary(0, "USER32.DLL")
        
        *MessageBox = GetFunction(0, "MessageBoxA")
        CallFunctionFast(*MessageBox, 0, "Body", "Title", 0)
        EndIf
        
        CloseLibrary(0)
      EndIf


  CompilerCase #PB_OS_Linux

      If OpenLibrary(0, "libc.so")
      
        *MAlloc = GetFunction(0, "malloc")
        If *MAlloc
          *Buffer = CallCFunctionFast(*MAlloc, 128)
          If *Buffer
            Debug "Buffer allocated"

            CallCFunction(0, "free", *Buffer)

          EndIf
        EndIf
      
        CloseLibrary(0)
      EndIf

CompilerEndSelect
Macht nur eine Fehlermeldung und zwar das man anstelle der Strinkpointer Strings genommen hatte.
Korrigiert sieht das dann so aus, lässt sich compilieren und unter dem virtuellen Win2000 mit Avira kommt
keine Virenwarnung.

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - Library
;
;    (c) 2003 - Fantaisie Software
;
; ------------------------------------------------------------
;

CompilerSelect #PB_Compiler_OS 
  
  CompilerCase #PB_OS_Windows

      If OpenLibrary(0, "USER32.DLL")
        
        *MessageBox = GetFunction(0, "MessageBoxA")
        Text.s="Body"
        Text1.s="Title"
        If *MessageBox
          CallFunctionFast(*MessageBox, 0, @Text, @Text1, 0)
        EndIf
        
        CloseLibrary(0)
      EndIf


  CompilerCase #PB_OS_Linux

      If OpenLibrary(0, "libc.so")
      
        *MAlloc = GetFunction(0, "malloc")
        If *MAlloc
          *Buffer = CallCFunctionFast(*MAlloc, 128)
          If *Buffer
            Debug "Buffer allocated"

            CallCFunction(0, "free", *Buffer)

          EndIf
        EndIf
      
        CloseLibrary(0)
      EndIf

CompilerEndSelect
Also ist das Compilat nicht von diesem Source, da dieser ja nicht funktionieren kann.

Ich übrgens habe mit Norton auch keine Warnung erhalten. Aber trotzdem wird man skeptisch, mit was
für Sources diese Exe erstellt worden ist, und Virenalarm schlägt.

Die Frage, woher die Exe kommt hatte sich weiter oben erübrigt. Schließlich ist dort auch die fertig compilierte
Library.exe enthalten, die beim Ausführen Avira anschlagen lässt.

Gruß Falko

Re: PureBasic 4.40 beta6

Verfasst: 09.11.2009 18:42
von PMV
Die Frage, welche PB-Version hinter den compilierten Beispielprogrammen
steht hab ich mir erlich gesagt auch gestellt. CallFunction(Fast) kann seit
der PB4.40 Beta1 keine Stringparameter mehr verarbeiten, also wird es
wohl mit PB4.31 compiliert sein. Selber mal getestet und compiliert hab
ich das damit aber nicht. Die ganzen Virenwarnungen bekommt man
vorallem dann, wenn man die zusatz-optionen des Compilers deaktiviert
lässt. Also das Ganze ohne On-Error und Threadsafe im Ascii-Modus
compiliert, schon mit Unicode gabs bei mir nur noch 1 Fehlwarnung. <)

Ach ja, du musst garnicht neue Variablen für die Parameter definieren, da
hier nur lesend drauf zugegriffen wird, reicht nen @ vor den konstanten
Ausdrücken :wink: ... so ist das ja viel zu viel Schreibarbeit :mrgreen:

MFG PMV

Re: PureBasic 4.40 beta6

Verfasst: 09.11.2009 21:05
von Falko
Danke für den Tip zur Schreibarbeit mit @ :allright:

Ich wußte garnicht, das es so funktioniert. Darum hier nochmal eine Korrektur:

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - Library
;
;    (c) 2003 - Fantaisie Software
;
; ------------------------------------------------------------
;

CompilerSelect #PB_Compiler_OS
 
  CompilerCase #PB_OS_Windows

      If OpenLibrary(0, "USER32.DLL")
       
        *MessageBox = GetFunction(0, "MessageBoxA")
        CallFunctionFast(*MessageBox, 0, @"Body", @"Title", 0)
   
        CloseLibrary(0)
      EndIf 


  CompilerCase #PB_OS_Linux

      If OpenLibrary(0, "libc.so")
     
        *MAlloc = GetFunction(0, "malloc")
        If *MAlloc
          *Buffer = CallCFunctionFast(*MAlloc, 128)
          If *Buffer
            Debug "Buffer allocated"

            CallCFunction(0, "free", *Buffer)

          EndIf
        EndIf
     
        CloseLibrary(0)
      EndIf

CompilerEndSelect
Gruß, Falko

Re: PureBasic 4.40 beta6

Verfasst: 09.11.2009 21:17
von ts-soft
Es geht nicht darum Schreibarbeit zu sparen, ihr schwienags :mrgreen:
Besser, vor allem von der Lesbarkeit, ist es schon mit Variablen, die sollte
man am besten auch Deklarieren (ihh, noch mehr Schreibarbeit :mrgreen: )

Mit Konstanten Strings sollte man sowieso etwas vorsichtig sein (nicht in
diesem Beispiel)

Gruß
Thomas mit seinem Senf

Re: PureBasic 4.40 beta6

Verfasst: 09.11.2009 22:23
von Little John
PMV hat geschrieben:Die Frage, welche PB-Version hinter den compilierten Beispielprogrammen
steht hab ich mir erlich gesagt auch gestellt.
Ich frage mich ehrlich geagt, was für einen Zweck die überhaupt haben. :mrgreen:
Z.B. nach Start von Arithmetic.exe passiert gar nichts sichtbares.
LinkedList.exe zeigt ein paar Messageboxen, deren Meldungen ohne Kenntnis des Quelltextes nichtssagend sind ...
Wenn es darum geht zu zeigen wie klein die von PureBasic erzeugten EXE-Dateien sein können, hätten 2 oder 3 Beispiele gereicht.

Gruß, Little John

Re: PureBasic 4.40 beta6

Verfasst: 09.11.2009 23:07
von Falko
Nachdem PMV schonmal seine Verwunderung über die unbekannte PB-Version
beschrieben hat, kann es ja nicht sein, das man zu Demozwecken für
neue PB-Versionen alte Sources testet, ohne sie zu anzupassen.

Ich war auch verwundert, nachdem ich nun mal den einzigsten Punkt, XP-Skin
abgeschaltet hatte und siehe da, schon popt Antivir seinen Viranalarm hervor.

Naja, wenn man also seine User behalten möchte, lässt man XP-Skin besser eingeschaltet,
auch wenn damit das Programm etwas größer als 2,5KB wird. :mrgreen:

Jetzt weiß ich, warum bei der PB-Installation die Datei Library.exe welche wohl mittels js-Script
ins PB-Verzeichnis kopiert werden sollte, nicht gefunden werden kann, wenn diese von Avira nicht
zugelassen wird.

Mit dem letzten Source ist es eindeutig ein Fehlalarm und hat sich für mich erledigt. Leider benutzen zu viele
Avira, weil es eben nichts kostet. Dafür bietet es einen übertriebenen Schutz und vergleicht Äpfel mit Birnen :mrgreen:


Gruß Falko

Re: PureBasic 4.40 beta6

Verfasst: 09.11.2009 23:18
von ts-soft
Falko hat geschrieben:Leider benutzen zu viele
Avira, weil es eben nichts kostet
Ich hab mir eine 3 Jahres Lizens gekauft weil ich trotz Fehlalarmen sehr zufrieden bin damit,
von allen getesteten Programmen ist es das, welches mein System trotz Echtzeitprüfung
nicht ausbremst, und ich hab vorher wirklich fast alle getestet.

Gruß
Thomas

Re: PureBasic 4.40 beta6

Verfasst: 10.11.2009 10:48
von Little John
Ich habe die kostenlose Version von AVG, und bin damit sehr zufrieden. Es liefert sehr selten falsch-positive Meldungen, und der On Access-Scanner im Hintergrund bremst das System nicht aus. Das trifft jedenfalls auf die vorangegangene Version 8.5 und die aktuelle Version 9.0 zu -- wie's davor war kann ich jetzt nicht mehr genau sagen.
AVG Free habe ich auch auf den PCs von einigen Freunden installiert, um die ich mich ein bisschen kümmere. Auch dort ist nirgends ein störender Effekt von AVG Free erkennbar.

Wenn ich auf den PCs Avira installiert hätte, würden die Freunde wahrscheinlich dauernd wegen Virusalarm bei mir anrufen, ich müsste dann abklären ob es sich tatsächlich um ein Virus handelt, oder um eine falsch-positive Meldung. Die Freunde hätten evtl. "sicherheitshalber" irgendwas gelöscht (oder Avira selbst hätte das getan) usw. ... Nee, danke!

Bei Dir ist die Situation noch anders, Thomas. Weil Du selbst einschätzen kannst ob es sich um einen Fehlalarm handelt oder nicht, bzw. das mit http://www.virustotal.com/ o.Ä. überprüfen kannst.

Gruß, Little John

Re: PureBasic 4.40 beta6

Verfasst: 10.11.2009 18:22
von PMV
Stimmt, AVG ist sehr Rersourceschonend, weshalb es auch sehr gut für
ältere Rechner geeignet ist. Die Free Version hat mir aber zu viele
Einschränkungen, um nicht zu sagen ... es kann wirklich nichts weiter
als der Schutz im Hintergrund und das gesamte System testen. ... bei
AVAST! ist das etwas anders, es ist schon recht Resourcefressend, aber
irgend wie fühl ich mich gerade deswegen sicherer :lol: ... die Freeversion
bietet auch einiges mehr als AVG, weshalb ich inzwischen wieder zurück
gerudert bin.

Wenn ich aber in erwägung ziehen würde ein Virenscanner zu kaufen,
wäre es wohl AVG wegen der weniger benötigten Resourcen. :D

MFG PMV

Re: PureBasic 4.40 beta6

Verfasst: 11.11.2009 12:42
von Little John
Jetzt wird's langsam offtopic. Nun denn ... :)
PMV hat geschrieben:Die Free Version hat mir aber zu viele
Einschränkungen, um nicht zu sagen ... es kann wirklich nichts weiter
als der Schutz im Hintergrund und das gesamte System testen.
Der residente Scanner im Hintergrund ist für mich das wichtigste. Man kann aber mit AVG durchaus bei Bedarf ("on demand") nicht nur die ganze Festplatte testen, sondern auch einzelne Verzeichnisse oder nur bestimmte Dateien. Das geht über die Benutzungsoberfläche von AVG, oder mit Rechtsklick über's Kontextmenü eines Verzeichnisses/einer Datei. Wenn Viren gefunden werden, kann man diese unter Quarantäne stellen oder löschen. Was man mit gefundenen Viren noch alles machen kann weiß ich gar nicht so genau, da ich seit "ewig und drei Tagen" kein Virus mehr hatte. *Auf Holz klopf*

Wenn ich mal die Festplatte oder bestimmte Verzeichnisse gezielt prüfen will, benutze ich um falsch-postive bzw. falsch-negative Ergebnissen zu reduzieren zusätzlich noch ein zweites AV-Programm (dafür nehme ich a-squared free). Das hat nichts speziell mit AVG zu tun, sondern da diese Problematik prinzipbedingt ist, würde ich das auch tun wenn ich ein anderes "Haupt"-AV-Programm benutzen würde.

Früher mochten manche Leute AVG Free nicht weil es auf englisch war, deutsch gab's nur in der Bezahlversion. Auch diese Einschränkung besteht jetzt nicht mehr.

Ende der Werbung. ;-)
Nee ... IMHO ist das Programm auch in der Free-Version wirklich empfehlenswert.

Gruß, Little John