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

Langage Delphi Discussion :

PAnsiChar et Delphi 2009


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut PAnsiChar et Delphi 2009
    Bonjour

    j'essaie d'utiliser la dll Bass.Net avec d2009 pour faire du streaming audio

    avec D7, pas de probleme, je passe l'adresse URL sous forme d'un PChar

    avec D2009, j'ai beau modifier l'appel de la DLL avec un PAnsiChar, je ne compile pas, Delphi me dit que j'ai un transtypage incorrect quand je veux passer comme parametre url := pAnsiChar(AnsiString)
    par contre url:=@AnsiString ; est accepté ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function BASS_StreamCreateURL(url: pansichar; offset: DWORD; flags: DWORD; proc: DOWNLOADPROC; user: Pointer):DWORD; stdcall; external bassdll; unsafe;
     
    var
    v_stream : dword;
    stringUrl : ansiString;
    adress : pAnsiChar;
    begin
         stringUrl:= 'http://88.191.12.106:9000';//
         adress:=pansichar(stringUrl); {>>>>>>>>>>> Transtypage incorrect}
         adress:=@stringUrl; {>>>>>>>>>>>>>>> compile mais ne donne rien, la dll renvoie une erreur}
         v_stream := BASS_StreamCreateURL(adress, 0, 256, nil, 0);
     
     end;

    si quelqu'un a une idée

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Bonjour et bienvenue sur les forums de Développez.com

    Et si tu essayes comme ça directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v_stream := BASS_StreamCreateURL(PAnsiChar(stringUrl), 0, 256, nil, 0);

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    merci pour l'accueil ,sympa !!

    j'ai utilisé delphi jusqu'au 7, aprés je suis passé au c# avec VS pendant 2-3 ans, mais pourquoi pas reessayer du Delphi, j'ai l'impression qu'il cree des exe plus "stables" (en c#, une exception mal gérée et OUT !!) et plus rapides que VS ... faut se réadapter

    pas de compilation en utilisant directement pansichar() dans la dll, même probleme de transtypage ... j'y perds mon latin

    en fait , c'est la dll de Bass que j'essaie d'utiliser, il exist une dll Bass en .Net, prévue pour c# et VB.net, si je la reference dans D2009, je trouve les Utils Bass. et Net. , mais aprés aucune descendance ... alors qu'avec c#; on retrouve toutes les fonctions - proprietes Bass. ....

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         adress:=@stringUrl[1];
    car tu veux l'adresse du 1er caractère de la chaîne

    bon en pratique c'est la même chose que pAnsiChar(stringUrl), car stringUrl est déjà un pointeur sur le premier caractère de la chaîne...mais c'est c'est syntaxiquement plus juste.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Là, je dis MONSIEUR !! et merci par la même occasion !!

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Quoi que ... l'histoire continue !!

    des coups j'arrive à initialiser mon v_stream, des fois non , sans aucune raison

    avant , avec @v_adress, j'avais 'an illegal parameter was specified' comme reponse, maintenant j'ai 'unsupported file format' si le player ne "veut" pas demarrer ........

    edit :
    l'erreur vient du fait que le serveur parfois sature, pas de probleme avec le code Delphi !!

    Merci encore à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 127
    Dernier message: 17/03/2014, 21h58
  2. UIB 2.1 Delphi 2009
    Par medkyl dans le forum Composants VCL
    Réponses: 4
    Dernier message: 22/09/2008, 23h17
  3. Qu'y a t-il dans delphi 2009
    Par BeTuLa dans le forum EDI
    Réponses: 17
    Dernier message: 05/09/2008, 08h46

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