• Probiere ich alles mal am Montag Abend aus. Da kann ich auch mal einen Test laufen lassen um zu ermitteln wie groß die Maps nach meiner Methode sein müssen. Mit Message und dann punktgenau allokieren ist natürlich viel eleganter.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)/PureBasic 6.00/RAD Studio 11 (Alexandria)/Perl 5.34.00/Python 3.10.0
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/46TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    Synology DS920+ mit 42TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 9 Pro (12GB/256GB)
    https://jacdelad.bplaced.net

  • Geiler Scheiß. Nur leider lässt sich das nur sehr schwer eine allgemeine Funktion basteln:

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)/PureBasic 6.00/RAD Studio 11 (Alexandria)/Perl 5.34.00/Python 3.10.0
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/46TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    Synology DS920+ mit 42TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 9 Pro (12GB/256GB)
    https://jacdelad.bplaced.net

    2 Mal editiert, zuletzt von Jac de Lad ()

  • Dein Code muß ich mir mal anschauen.
    Auf den ersten Blick :


    Code
    sendmessage(Val(SubStr$(GetString$(liste2&,0),2,"|")),$1001,0,0)


    SendMessage ist dazu gedacht, Messages an ein Fenster oder bestimmtes Control
    (Buttons, Editboxen, Listboxen usw.) zu senden. Controls sind in Windows auch
    Fenster.
    Und NICHT an eine Zeile, bzw. Teil eines Strings, die/der mit GetString$ ermittelt wurde.
    Erwartet also unbedingt ein HANDLE. Da kommt natürlich auch kein Fehler. Der Aufruf
    verhallt in den Weiten des Computerspeichers, weil Windows kein Handle findet.


    Also, nochmals Code durchsehen.


    Wie man jetzt einem Prozess eine Message schicken kann, weiß ich nicht.
    Das Fenster, das du im Prozess verwendest, ist ja dem Hauptprogramm
    nicht bekannt (ungefähr das gleiche, wie eine lokale Variable in einer PROC).


    Ich kenne es jetzt nur anders rum. Der Prozess sendet dem Fenster, dessen Handle
    man per pExec mitgibt, eine Message.
    Mal schauen, ob es da eine Möglichkeit, außer Map, gibt.


    Mit Map + FindWindow hätte ich da was :
    Die Übergabe geht natürlich auch mit einem Editfeld. Das könnte man ja
    bei Bedarf auch mit ShowWindow ausblenden.


    Vielleicht kannst du ja daraus was machen, indem du dir den Namen der Filemap per Editfeld holst.

    3 Mal editiert, zuletzt von H.Brill ()

  • Heinz, jetzt bin ich sauer. Hast du den Code mal ausprobiert? Natürlich mit angepassten Suchpfaden?


    Message $1000 sendet das Zielfenster und die benötigte Größe. Die werden in der Liste gespeichert, weil die nächste Message auch eine $1000 sein kann und die nicht verloren gehen kann. Dann wird die Liste nacheinander abgearbeitet. Message $1001 geht zurück an den Client, deshalb das Handle wieder mit GetString auslesen. Kein Murks und keine Zauberei. Message $1002 vom Clienten zeigt den Host, dass er den String übertragen hat.


    Message an Prozess funktioniert nicht, das habe ich probiert. Bei mir funktioniert mein Programm einwandfrei, egal wie viele Suchvorgänge ich simultan starte.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)/PureBasic 6.00/RAD Studio 11 (Alexandria)/Perl 5.34.00/Python 3.10.0
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/46TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    Synology DS920+ mit 42TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 9 Pro (12GB/256GB)
    https://jacdelad.bplaced.net

  • Das ist schon richtig so. Heinz hat einfach übersehen, daß zuvor das Handle in die Liste geschrieben wurde. Da kann man es aber nur in Stringform unterbringen ;)


    Gruß Volkmar

  • Bin immer noch wütend! :D

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)/PureBasic 6.00/RAD Studio 11 (Alexandria)/Perl 5.34.00/Python 3.10.0
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/46TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    Synology DS920+ mit 42TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 9 Pro (12GB/256GB)
    https://jacdelad.bplaced.net

  • Brauchst nicht gleich sauer zu sein.
    Das habe ich tatsächlich übersehen, sorry.
    Wenn ich so empfindlich wäre, da wäre ich schon seit Jahren
    nicht mehr hier anwesend.

    Bei mir funktioniert mein Programm einwandfrei, egal wie viele Suchvorgänge ich simultan starte.

    Dann ist ja alles gut und für mich das Thema abgeschlossen.

  • Ich hab mich mehr geärgert, dass du den Code kritisierst ohne ihn probiert zu haben. Aber das Thema ist durch, auf zum nächsten.


    Neue Proc "AddFilesASync". Sie funktioniert wie "AddFiles" inklusive Modus. Mehrere Aufrufe werden mit dem Listentrennzeichen getrennt. Die Proc achtet auch darauf, dass eventuell schon vergebene UserMessages wiederhergestellt werden. Das Programm hält nicht an während die Suchvorgänge durchgeführt werden, aber die Proc selbst übernimmt die Kontrolle bis alle Vorgänge beendet sind. Eine wirklich asynchrone Funktion muss man dann selbst anpassen und tief ins Programm einbinden. Für Verbesserungsvorschläge bin ich natürlich offen.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)/PureBasic 6.00/RAD Studio 11 (Alexandria)/Perl 5.34.00/Python 3.10.0
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/46TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    Synology DS920+ mit 42TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 9 Pro (12GB/256GB)
    https://jacdelad.bplaced.net

    Einmal editiert, zuletzt von Jac de Lad ()

  • Mir ist gerade noch ein Fehler aufgefallen, die Zeilen

    Code
    sendmessage(liste&,$B,0,0)

    und

    Code
    sendmessage(liste&,$B,1,0)

    müssen raus bzw. vor/nach


    Code
    Move("ListToHandle",Liste&)

    rein. Vielleicht kann das ein Moderator ändern.


    Ein weiterer Schwachpunkt ist, dass die Anzahl der Ergebnisse nicht über 252144 liegen darf. Gegebenfalls muss man den Code weiter anpassen.


    Anmerkung: Ich habe den Code gerade etwas modifiziert und auf Arbeit ausprobiert. Ich habe an 7 Orten im Netzwerk insgsamt 603423 Dateien finden lassen. Der Originalcode mit aufeinanderfolgenden Suchen braucht etwa 57 Sekunden. Mit parallelen Suchen waren es nur noch etwa 21 Sekunden. Natürliche ist Reihenfolge der gefundenen Dateien dann anders. Da ist jeder selbst dafür verantwortlich den Code anzupassen. Ich stelle morgen eine finale Version mit optionalem dritten Parameter hier rein, der ein Grid oder eine GridBox sein kann, damit der Überlauf bei Element 252145 nicht stattfinden kann.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)/PureBasic 6.00/RAD Studio 11 (Alexandria)/Perl 5.34.00/Python 3.10.0
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/46TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    Synology DS920+ mit 42TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 9 Pro (12GB/256GB)
    https://jacdelad.bplaced.net

    2 Mal editiert, zuletzt von Jac de Lad ()

  • Aufruf:
    AddFilesASync S,N1[,N2[,N3]]


    Entweder mit 2 Parametern wie bei AddFiles, oder mit einem dritten Parameter als Handle einer Gridbox/ListBox etc., die die Ergebnisse aufnimmt. Es ist auch ein dritter Parameter möglich (0=kein Einfluss, 1=Neuzeichnen des Handles von N2 nicht verändern, 2=Rückgabe der Ergebnisse als String (dann wird N2 ignoriert)).

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)/PureBasic 6.00/RAD Studio 11 (Alexandria)/Perl 5.34.00/Python 3.10.0
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/46TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    Synology DS920+ mit 42TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 9 Pro (12GB/256GB)
    https://jacdelad.bplaced.net

  • Soweit ich weiß nein und nein.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)/PureBasic 6.00/RAD Studio 11 (Alexandria)/Perl 5.34.00/Python 3.10.0
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/46TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    Synology DS920+ mit 42TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 9 Pro (12GB/256GB)
    https://jacdelad.bplaced.net

  • Hier habe ich gesehen das es ein Xprofan x64 gibt. Könnte man davon eine aktuelle Fassung haben?

    Eine Version, die den Funktionsumfang (mit ein paar Ausnahmen) von X3 hat, bekommst du hier :


    https://xprofan.net/intl/de/xprofan/freeprofan/


    War wohl die letzte Version. Eine 64-Bit Version mit Delphi geschrieben, wird es auch nicht geben.
    Dazu ist die 64Bit Version von Delphi schweineteuer, somit fällt das auch flach.


    An eine Version 5 glaube ich eigentlich nicht mehr. Dafür nutzen es momentan nur wenige, sodaß sich
    der Aufwand nicht lohnt. Es ist auch abhängig, ob Roland genügend Freizeit daür hat. Schließlich gehen
    Arbeit und Familie vor.


    Was ich mir noch wünschen würde, wäre noch eine weitere Subscription.
    Da wären ja noch einige Baustellen, die bereits schon in den anderen 2 Foren angesprochen wurden,
    fertig zu stellen. Etwa Drag & Drop, mit dem auch Anfänger zurecht kommen, mehr Netzwerkfunktionalität
    und das eine oder andere noch. Da käme bestimmt noch eine gut bestückte Liste mit kleinen Wünschen,
    für die es sich lohnen würde. Lohnen würde sich das nicht geldlich sondern rein arbeitstechnisch und um
    XProfan noch etwas am Leben zu halten.


    Ich hatte ja gehofft, daß in der CORONA - Zeit, ein paar mehr neue Leute, die zuhause bleiben müssen,
    Interesse daran hätten.

  • Sorry, daß ich den Thread mal wieder hoch hole.

    Was mir in den letzten Monaten aufgefallen ist :

    Wenn ich (und andere) einen Quellcode ins Forum

    reinstelle, sind wenig später über 100 Zugriffe zu

    sehen, abzüglich meiner 5 - 10 Zugriffe für Verbesserungen

    des Quellcodes bzw. Antworten.


    Folglich scheint ja immer noch ein Interesse an XProfan

    bzw. Profan zu bestehen. Was sollte auch jemand sonst mit

    mit dem Quellcode anfangen, außer mal auszuprobieren oder

    bestimmte Codeteile für seine Projekte zu nutzen.


    Vielleicht sollte man mal eine Abfrage starten, um zu ermitteln

    wie hoch das Interesse an einer folgenden Version X5, einem

    Update oder Subscription ist. Evtl. könnte das RGH etwas

    ermutigen, sein tolles XProfan-Projekt weiter zu führen.

    Daß es sich finanziell für ihn nicht lohnen wird, ist ja ein

    anderes Thema. Zumindest bliebe XProfan noch eine

    Zeitlang am Leben, zumindest, solange 32 Bit von Windows

    unterstützt wird.


    Vielleicht könnte der Moderator hier mal so eine Liste online

    stellen, wo man bei Interesse anklicken kann.

  • Danke Volkmar, habe soeben mal meine Klicks gemacht. :)

    Ich selber wußte nicht, wie man sowas hier einstellt.


    Das ist schon mal ein schöner Anfang.

    Interessiert mich halt mal, da so viele Zugriffe auf meine

    Werkzeugliste stattfanden. Was dabei heraus kommt,

    werden wir ja sehen.

    PS: Kannst du noch eine Option "Ja, ich wünsche mir ein Update"

    hinzu fügen ? Ist ja schließlich auch ein Argument für XProfan.

    Roland könnte ja auch zuerst einen kostengünstigen Patch mit

    neuen Funktionen bzw. Befehlen zur Verfügung stellen. Macht dann

    für ihn nicht soviel Arbeit.

    Einmal editiert, zuletzt von H.Brill ()

  • Ich habe die Frage mal hinzugefügt, aber wir, da wir schon abgestimmt haben, können das nicht mehr anklicken. Deshalb mal an dieser Stelle: Ja, das würde ich auch begrüßen, wenn da auch mal ein Update machbar wäre.


    Gruß Volkmar

  • Vielleicht könntest du die Umfrage etwas höher hier im Forum platzieren,

    direkt als neuer Thread bei Anregungen und Bugreports.

    Hier, ganz unten in dem alten Thread sieht das kaum jemand. Das ist so,

    als wenn das Superangebot vom ALDI ganz hinten in einer kleinen Ecke

    steht. Da geht auch so mancher nicht vorbei.


    Vielleicht wäre auch noch eine Liste nicht schlecht, wo man mit jeweils einer Zeile

    seine(n) Wunsch - Funktion / Befehl reinschreiben kann. Wenn da etwas zusammen

    käme, bekräftigt das noch obige Umfrage.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!