IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Un popup AlwaysOnTop


Sujet :

Composants VCL Delphi

  1. #21
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    SAlut
    Ca n'est pas incompatible loi de la
    il suffit de placer le code suivant judicieusement comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    program Project1;
     
    uses
      Windows, Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {FrmPopUp};
     
    {$R *.res}
     
    var
        H : THandle;
        Erreur: Integer;
    begin
      Application.Initialize;
      If paramcount > 0 then
      begin
           If paramstr(2) = 'PopUp' Then Application.CreateForm(TFrmPopUp, FrmPopUp);
      end
      Else
      begin
           SetLastError(NO_ERROR);
           H := CreateMutex (nil, False, 'JustOnInstance');
           Erreur := GetLastError;
           if ( Erreur = ERROR_ALREADY_EXISTS ) or ( Erreur = ERROR_ACCESS_DENIED ) then Exit;
           Application.CreateForm(TForm1, Form1);
      End;
      Application.Run;
    end.
    Ce code annule et remplace celui du Project1

    Voila pere Fourasse je suis pret par ta prochaine enigme

    A++
    Qwaz

  2. #22
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    Je trouve ta solution pas mal...bon faut que je l'adapte car évidemment, j'avais un splash-screen au démarrage...
    Je teste ça ce soir...

  3. #23
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    SAlut
    Pas grand chose a modifier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    program Project1;
     
    uses
      Windows,
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {FrmPopUp},
      USplashScreen in 'USplashScreen.pas' {SplashScreen};
     
    {$R *.res}
     
    var
        H : THandle;
        Erreur: Integer;
     
    begin
      Application.Initialize;
      If paramcount > 0 then
      begin
           If paramstr(2) = 'PopUp' Then Application.CreateForm(TFrmPopUp, FrmPopUp);
      end
      Else
      begin
           SetLastError(NO_ERROR);
           H := CreateMutex (nil, False, 'JustOnInstance');
           Erreur := GetLastError;
           if ( Erreur = ERROR_ALREADY_EXISTS ) or ( Erreur = ERROR_ACCESS_DENIED ) then Exit;
           Application.Title := 'Splash!';
           SplashScreen := TSplashScreen.Create(Application);
           SplashScreen.Show;
           SplashScreen.Update;
           Application.CreateForm(TForm1, Form1);
           sleep(2000);
           SplashScreen.Close;
           SplashScreen.Release;
     
      End;
      Application.Run;
    end.
    ... ben alors il est ou le pere fourasse ..; c'est quoi ce defis bidon la

    ++
    Qwaz

  4. #24
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 504
    Points : 2 776
    Points
    2 776
    Billets dans le blog
    10
    Par défaut
    SI tu veux que l'on regarde l'histoire de l'exe en parallele ...

  5. #25
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    SAlut
    Ma proposition de l'exe qui fait tout te parait si vilaine que ca ALWEBER ?
    A++
    Qwaz

  6. #26
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    Hey, c'était pas un defi bidon... juste qu'à l'époque, lorsque j'ai placé de splash screen, j'avais pas fait un truc très propre au niveau de la programmation (un peu de bidouille, je pense...)... du coup, je ne sais pas ce que ca va donner avec ta proposition... (le defi était pour moi cette fois en fait!!! )

    Mais j'ai déjà quelques questions qui pointent le nez si tu veux!!! dans le popup, il y a un TRichedit à remplir avec des textes de différentes couleurs...

    Il y a un "début" de réponse dans le post... ce que je cherche c'est la solution la plus simple... (j'avoue, je n'y ai pas encore refléchi... j'ai même pas encore testé la solution... je verrai ça ce soir...)...

    En tout cas, la solution des deux exe (deux différentes ou deux fois la même) en parallèle à l'avantage d'être efficace!!! Si quelqu'un à une autre solution qui marche... on est tous preneur je pense

  7. #27
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 504
    Points : 2 776
    Points
    2 776
    Billets dans le blog
    10
    Par défaut
    Qwazerty a écrit
    Ma proposition de l'exe qui fait tout te parait si vilaine que ca ALWEBER ?
    Excuse ! j'avais zappé une partie de la discussion.

  8. #28
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    SAlut

    @ALWEBER: Bon ok ca va pour cette fois mais que se reproduise pas

    @CrocoB:Je pense que tout ce dont tu as besoin se trouve sur la faq pour le tRichEdit donc je ne regarde pas
    edit http://delphi.developpez.com/faq/?pa...icheditcouleur /edit

    A++
    Qwaz

  9. #29
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    Non non! On ne s'est pas compris... le problème n'est pas de colorer le composant TrichEdit... (ai-je l'air si débutant??? fichtre... je sais que je ne suis pas pro mais tout de même).

    Le problème est de faire passer d'une appli à l'autre le texte coloré...

    Mais je n'ai pas encore regarder le truc donc pour le moment je ne dis pas encore que je ne sais pas faire...

  10. #30
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    SAlut
    au temps pour moi
    ai-je l'air si débutant??? fichtre... je sais que je ne suis pas pro mais tout de même
    Je ne suis pas pro non plus et j'en decouvre tous les jours ... et parfois des trucs super simplissime.
    Pour le passage de text humm ca parait pas mal comme defi, mais j'ai aussi des chose a faire .
    Le plus simple serait peut etre de passer par le clipboard ... quoi que pas tres propre, ou sinon le system des messages avec un WM_User et le text en parametre (avec des balise html dans le text pour les couleur).
    edit1: ou peut etre mettre le text en memoir et transmettre juste l'adresse memoire (j'ai jamais fait ca) Du streaming en faite.
    /edit1

    edit2: d'apres les quelques recherche que j'ai pu faire y'a rien de simple", le plus propre est sans doute de stocker le RicheEditPopUp dans un fichier tmp.rtf, de passer sont chemin via le WM_User et de loader le fichier dans ton RicheEditMain. En effet a ce que j'ai pu en vois les propriete texte lines et compagnie ne concerve pas le formatage (mais je fait peut etre fausse route) /edit2

    edit3:
    Ou encore un fichier tmp /edit3

    Si tu bloque je me pencherais dessus avec plaisir, mais je pense que d'autre auront deja des solutions toutes pretes
    A++
    Qwaz

  11. #31
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    Bin, j'ai testé le popup que tu proposes, ca à l'air de marcher mais j'ai du coup deux problèmes:

    1/ mon appli génère un icone à côté de l'horloge... du coup maintenant j'en ai deux... Bon je pense que je vais pouvoir résoudre ça...

    2/ j'ai une erreur aléatoire qui se produit environ une fois sur cinq au démarrage de mon appli... Elle est assez étrange

    Exception EAccessViolation dans le module truc.Exe dans 00000000
    Violation d'accès à l'adresse 00000000. Lecture de l'adresse 00000000
    Voilà,

    Quelqu'un à une idée???

    PS : Je n'ai pas encore reflechi sur le moyen de remplir le TrichEdit du popup

  12. #32
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 634
    Points : 25 352
    Points
    25 352
    Par défaut
    Pour la Barre des Taches, j'ai mentionné "SetWindowLong" (voir mon message de 24/08/2007 20h08)

    Sinon pour ton erreur, ça sens le déclenchement d'event dont l'objet qui est traité à est à nil, ... tu devrais lancer ton exe en débugogage et dans les options faire un arrêter sur exception delphi ...

  13. #33
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    Ok merci, j'avais pas vu!

    Pour l'erreur, c'est résolu, c'était une bêtise de ma part qui n'avait rien à voir avec le post...

    il ne me reste plus qu'à trouver une solution pour envoyer les infos sur le TrichEdit et le problème est résolu!

  14. #34
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 634
    Points : 25 352
    Points
    25 352
    Par défaut
    Tu peux envoyer une chaine via WM_COPYDATA, j'ai mis aussi un exemple dans mon post contenant SetWindowLong

    Tu peux envoyer aussi avec un Message USER, tu peux envoyer une Chaine (string) assez facilement ... comme dans ce SUJET

    Mais c'est toujours via un buffer de longueur fixe, et des CopyMemory ...

  15. #35
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    SAlut
    Le probleme est pas le transfert en lui meme, dans le fichier que j'ai joint j'utilise effectivement un message WM_User, le probleme est de garder le formatage du text.
    La propriete text du RichEdit renvoie le text brut, visiblement le seul moyen d'avoir le tex avec sont formatage serait d'utiliser un Tstream (memory peut etre, ca serait le plus propre) afin d'utilisé la proprieté savetostream du richedit (qui lui garder le formatage sous forme de balisage) et ensuite de transferer le stream dans une variable string afin de la transmettre.
    C'est le passage du stream en string que je n'arrive pas a faire.

    A++
    Qwaz

  16. #36
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 634
    Points : 25 352
    Points
    25 352
    Par défaut
    Regarde l'Option PlainText ... ça devrait t'interreser pour récupérer le Format via Texte ...

  17. #37
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    SAlut
    Ha bon tu es bien sur ??

    Citation Envoyé par Help D2005
    Détermine si le contrôle éditeur de texte formaté traite le texte comme du texte brut ou comme du texte formaté au moment de le lire ou de l'écrire dans un fichier.
    J'avais deja regarder cette option et elle ne paraissait pas me convenir

    A++
    Qwaz

  18. #38
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    Re
    Et voila merci google
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function TForm1.GetPlainText(RE: TRichEdit): string;
    var
       strStream: TStringStream;
    begin
       strStream := TStringStream.Create('') ;
       try
         RE.PlainText := False;
         RE.Lines.SaveToStream(strStream) ;
         Result := strStream.DataString;
       finally
         strStream.Free
       end;
    end;
    trouvé ici
    http://delphi.about.com/od/adptips20...ltip1203_5.htm

    Voila il te reste plus qu'a transmettre le text obtenu via WM_User, comme pour le code du bouton 'OK' du PopUp.

    a++ Pere Fourasse
    Qwaz

  19. #39
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    Salut les gars... j'ai l'impression que ca tourne tout de meme au gaz cette usine.

    1 / Bon je n'arrive pas à utiliser l'exemple de ShaiLeTroll pour juste envoyer une chaine de caractère... j'ai essayé d'adapter le code pour eviter de passer par le HINT d'un composant mais ca plante...

    2/ juste une question que ce passe t-il si jamais mon appli mets un peu de temps pour se charger en mémoire? (exemple bidon : imaginons que mon prog est sur une disquette... oui, je sais l'exemple est super bidon...)... il loupe le message?

    3/ la fonction pour faire passer le texte formaté fonctionne très bien


    CrocoB

  20. #40
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    SAlut

    Pour le 1/ je comprend pas de quoi tu parles, j'ai pas trop le temps de reprendre tout le poste.

    Pour le 2/ ca ne fonctionne pas comme ca, meme si tu charge ton appli a partir d'une D7 l'appli sera chargé en memoir, donc pas de probleme de lenteur, de plus chaque message envoyé attend d'etre traité.

    Pour le 3/ Great, par contre du coup je comprend encore moins le 1/, si le transfert de text formaté fonctionne, qu'est ce qui te manque ?
    Tu as fait le transfert avec quoi un message WM_User ou un WM_CopyData ?

    A++

    Qwaz

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Comment créer un menu popup style XP ?
    Par chaours dans le forum Composants VCL
    Réponses: 4
    Dernier message: 29/09/2003, 09h38
  2. Popup avec un clic gauche
    Par Jéremy A dans le forum Composants VCL
    Réponses: 7
    Dernier message: 27/02/2003, 22h15
  3. Mettre un popup menu invisible ??
    Par Alberto dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/12/2002, 09h02
  4. Image popup d'une fiche à partir d'un TListImage
    Par FW-S dans le forum Composants VCL
    Réponses: 3
    Dernier message: 17/11/2002, 13h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo