mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: Monitorare Socket

Vorrei Monitorare tutte le connessioni aperte dal mio computer, e vedere ciň
che stanno trasmettendo.
Credete che sia possibile? So programmare in C++ e conosco le API di
Windows, inoltre possiedo Borland C++ Builder.
Nel caso fosse possibile, qualcuno mi sa dire che API devo utilizzare, anche
solo indicativamente?
Grazie anticipatamente.

:

Guarda il thread "ascoltare una porta" (č iniziato ieri, quindi dovrebbe 
potrebbe non essere ancora visibile su tutti i newsservers).
Vedendo anche il thread "Time out per la connect()" mi viene da domandare 
se tutto questo interesse per i socket č una coincidenza :)
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)


Mi scuso per aver praticamente ripetuto il messaggio di Vittorio.
Ho pensato: "Non ho mai visto un messaggio del genere in questo NG, vuoi
vedere che a qualcuno è venuta la mia stessa curiosità?". I misteri della
vita.
Ciao

Newsgroup: it.comp.programmare.win32
Titolo: Problema installazione VS.NET

Ciao a tutti!
Ho un problema di installazione di VISUAL 
STUDIO.NET
: 
una volta installati i component update ed iniziata l'installazione
del primo cd, accade che quasi al termine dell'installazione stessa
del primo cd, mi venga riportato un misterioso errore interno. Riporto
il log dell'errore:
[07/16/03,10:51:07] Visual Studio .NET Enterprise Architect - Italian:
[2] ERROR: Errore interno 2908. {C702B474-1598-477F-8E6A-87A05B37F0BB}
[07/16/03,10:51:10] Visual Studio .NET Enterprise Architect - Italian:
[2] ERROR: Errore interno 2908. {F7B1ACC6-3906-4BC0-B2C7-D42F192C8C17}
[07/16/03,10:51:11] Visual Studio .NET Enterprise Architect - Italian:
[2] ERROR: Errore interno 2908. {2B6E7D21-976B-48BE-ACD7-6CF2C51B3EC1}
[07/16/03,10:51:12] Visual Studio .NET Enterprise Architect - Italian:
[2] ERROR: Errore interno 2908. {81428E9A-A361-4A07-A436-5D6A37637A14}
[07/16/03,10:51:14] Visual Studio .NET Enterprise Architect - Italian:
[2] ERROR: Errore 1935.Si è verificato un errore nel corso
dell'installazione del componente assembly
{D4A16265-C8E4-43E9-8E28-D4E380113E57}. HRESULT: -
2147319761
.
[07/16/03,10:51:25] setup.exe: [2] ISetupComponent::Pre/Post/Install()
failed in ISetupManager::InstallManagerHelper()
[07/16/03,10:51:25] setup.exe: [2] Component error string not
specified in ISetupManager::AddToActionResultCollection()
Ho allora provato a copiare il cd su hdd, ma il risultato è lo
stesso!Qualcuno ha idee a proposito?
Max

 ha scritto nel messaggio
news:650ed42a.03071...@posting.google.com...

Newsgroup: it.comp.programmare.win32
Titolo: Chiudere una finestra di dialogo.

Salve a tutti.
Avrei la necessità di chiudere delle finestre di errore (Exception caught).
Riesco tranquillamente a rilevarle in questo modo:
char *find_window(char *prg)
{
  HWND hWnd;
  HWND fhWnd;
  char *testo;
  int len=0;
  LPTSTR txt;
  printf("Controllo: %s \r\n",prg);
  char *name = (char *)calloc(strlen(prg)+2,sizeof(char));
  strcpy(name,prg);
  name=strtok(name,".");
  hWnd = FindWindow(NULL,name);
  if (hWnd == 0)  {
   printf("Non ho trovato alcuna finestra!\r\n");
   free(name);
   return NULL;
  }
  else {
   printf("Finestra trovata.\r\n");
    //printf("Mi prendo le classi... \r\n");
    fhWnd=GetDlgItem(hWnd,0xFFFF);
    if(fhWnd) {
      printf("Ho trovato il Message Box.\r\n");
      txt = (char *)calloc(GetWindowTextLength(fhWnd)+5,sizeof(char));
      GetWindowText(fhWnd,txt,2000);
    }
    else txt = NULL;
    free(name);
    printf("Ora chiudo la finestra.\r\n");
    system("PAUSE");
    DestroyWindow(fhWnd);
    system("PAUSE");
    DestroyWindow(hWnd);
    CloseHandle(hWnd);
    CloseHandle(fhWnd);
    return txt;
  }
}
int main(int argc, char *argv[])
{
  LPTSTR wintxt;
  char prg[1024];
  strcpy(prg,"Exception caught");
  if (argc==2){
    printf ("\nho un parametro!!!\n");
    strcpy(prg,argv[1]);
  }
  char *text=find_window(prg);
  if (text!=NULL) {
    printf ("\n\ntesto errore: %s \n",text);
  }
  free (text);
  system("PAUSE");
  return 0;
}
Il DestroyWindow però non funziona,
mentre EndTask non viene neanche compilato...
Come posso "far click sull'ok"?
C'è un modo di trovare l'associazione finestra-PID?
Altrimenti dovrei fare un parsing del testo del messaggio
e beccare da li il PID del processo, per poi killarlo.
Spero possiate aiutarmi.
molte grazie.
bye ;-)

> Il DestroyWindow perň non funziona,
Prova allora
EndDialog(IDOK);
La differenza č che DestroyWindow serve per le dialog non modali e per le
finestre normali; EndDialog invece serve per le dialog modali (e le
finestre con gli errori in genere sono modali...).
Altrimenti:
SendMessage(hwndTarget, WM_COMMAND, IDOK, 0);
dove hwndTarget č l'handle della dialog.
Ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Perfetto appena mi ricapita l'errore lo provo al volo.
Molte grazie!!!
bye ;-)
Newsgroup: it.comp.programmare.win32
Titolo: Saluti

Volevo salutare tutti gli amici del newsgroup. Purtroppo per motivi
personali quasi certamente smetterò di seguire il NG e probabilmente anche
di occuparmi di programmazione, perciò, seppur a malincuore, vi saluto
tutti.
Bye,
Lorenzo
---
"...un tipo perso dietro le nuvole e la poesia..."
Lorenzo "Loz" Novara
E-Mail: 
l...@iol.it
Web: 
http://loz.freeweb.org

In bocca al lupo!
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

 wrote in message
AbTH3.1538$nP6....@typhoon.libero.it...


In groppa al riccio!
-- 
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it
 UIN : 43385135

Newsgroup: it.comp.programmare.win32
Titolo: Finestre Dialog non standard

Avete presente il lettore CD di W2K?
Se qualcuno puņ essermi d'aiuto gliene sarei grato.
Okay la gestione dei bottoni Owner-Draw ma come creare una finestra di
dialogo Owner-Draw?
Ringrazio in anticipo!
Ciao, johnny.

 dialogo Owner-Draw?
Usare una finestra standard e intercettare WM_PAINT non va bene?
--
+----------- PMSoftware -------------------------+
# Tutorial:  
http://pmsoftware.tripod.com
        #
# Download:  
http://digilander.iol.it/pmsoftware
 #
°e prossimamente un tutorial su come fare la Firma....

 ha scritto nel messaggio
news:9579cj$fgi$1...@pegasus.tiscalinet.it...


:

SetWindowRgn per creare finestre non rettangolari e WM_NCPAINT e i messaggi 
non-client (WM_NC*) per disegnare e gestire "decorazioni" non standard.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

 >Se qualcuno puň essermi d'aiuto gliene sarei grato.


sia un modo migliore!) 
Basta ritornare il valore giusto (HTCAPTION) dal messaggio WM_NCHITTEST.
Allo stesso modo puoi simulare il resize e pulsantini di maximize, minimize 
e close.


Newsgroup: it.comp.programmare.win32
Titolo: De allocare memoria

Ciao,
mettiamo che state caricando un file, di testo o binario non importa.
Avrete una procedura di tipo:
LoadFile(f)
carica_info_1(file);
carica_info_2(file);
.....
Ogni funzione carica_info_*() dovrà accedere al file e probabilmente
allocare la memoria
ecc...
Se però il file è corrotto/invalido, uno deve interrompere il
caricamento e restituire un
messaggio di errore. Però, tutta la memoria allocata dalle varie
funzioni carica_info
va deallocata...un incubo.
Voi normalmente che fate? Non esiste un modo per fare una cosa simile?
beginmemorymarker()
if (LoadFile(f) == BAD)
   endmemorymarker_and_delete()
else
   endmemorymarker_ok()
   return OK
cioè, della serie: setto un marker, alloco a volontà:se tutto ok,
tolgo il marker, altrimenti
lo tolgo lo stesso, ma con una funzione che libera (automaticamente)
tutta la memoria
occupata.
Ciao

occupata.
Se usi C++ puoi usare qualcosa simile ad un auto_ptr .
Newsgroup: it.comp.programmare.win32
Titolo: Problemi con MoveToEx e Lineto

Devo visualizzare un piccolo grafico in un dialogo. Ho creato un box
statico di tipo "Picture" con l'editor di risorse del VC, gli unici
attributi che ha sono SS_SIMPLE e WS_BORDER. Le dimensioni sono
111x59.
Alla WM_INITDIALOG dipingo di nero il box con questa funzione
static void PaintRectangleBlack (HWND hDlg)
{
HWND hRect1;
HDC  hDC;
RECT RClient;
HBRUSH hBru;
hRect1 = GetDlgItem (hDlg,IDC_FCS_RECT1);
hDC = GetDC (hRect1);
hBru = CreateSolidBrush (RGB (0,0,0));
SelectObject (hDC,hBru);
GetClientRect (hRect1,&RClient);         // Nota 1
FillRect (hDC,&RClient,hBru);
DeleteObject (hBru);
ReleaseDC (hRect1,hDC);
}
Il mio problema e' nel disegnarci all'interno. Questa e' la funzione
per tracciare due assi cartesiani
void AddValueRectangle (HWND hDlg,int v)
{
HWND hRect1;
HDC  hDC;
HPEN hPen;
hRect1 = GetDlgItem (hDlg,IDC_FCS_RECT1);
hDC = GetDC (hRect1);
hPen = CreatePen (PS_SOLID,0,RGB (255,0,0));
SelectObject (hDC,hPen);
MoveToEx (hDC,0,0,NULL);
LineTo (hDC,162,0);
MoveToEx (hDC,0,0,NULL);
LineTo (hDC,0,91);
DeleteObject (hPen);
ReleaseDC (hRect1,hDC);
}
Sebbene il box sia 111x59 devo impostare le coordinate di LineTo a
162x91 per coprirne completamente i lati. Anche dove ho commentato la
linea con "Nota 1", RClient mi riporta 162x91 !
Per quale #!%&$Ł motivo ???
Grazie in anticipo.
Paolo

 [.....]
Esistono le API SetMapMode(), SetWindowExtEx(), SetViewportExtEx(),
che servono per settare l'unità di misura e la scalatura che
influisce poi su tutte le altre API della GDI di Windows.
Non so quale sia il default per le dialog, ma senz'altro puoi
cambiare le cose a tuo piacimento.
Federico Molara.

cambiare le cose a tuo piacimento.
Il default e' MM_TEXT, la singola unita' e' il pixel.
Nonostante questo non mi spiego perche' definendo nelle risorse un
controllo in questo modo
CONTROL   "",IDC_RECT1,"Static",SS_SIMPLE | WS_BORDER,2,2,111, 59
mi salta fuori di 162x91.
Ciao
Paolo

mi salta fuori di 162x91.
A memoria mi sembra di ricordare che nelle dialog l'unita di misura
non sono i pixel ma i caratteri (o qualcosa di simile) .
Dovrei consultare il Petzold .........

 ha scritto nel messaggio
news:3c886be3...@news.tin.it...

A memoria mia sono frazioni di carattere (quarti e ottatavi, forse).
Federico Molara.

Newsgroup: it.comp.programmare.win32
Titolo: Win32 e permessi di accesso a file e cartelle

Come si può assegnare ad una cartella e ai file in essa contenuti
determinati permessi in Windows NT 4.0 utilizzando le API Win32 ?
Esempio :
1) ho creato l'utente "Pippo" come USER in User Manager for Domains
2) ho la cartella c:\temp che contiene alcuni file
3) voglio assegnare alla cartella c:\temp ed ai suoi file i seguenti
permessi :
      utente "Pippo" con "FullControl"
Grazie dell'attenzione.
Ciao

 Come si puň assegnare ad una cartella e ai file in essa contenuti

SetFileSecurity();
Se lo devi fare per automatizzare compiti di amministrazione,
allora "c:\>cacls /?"
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own
Newsgroup: it.comp.programmare.win32
Titolo: IE 5 e i suoi controlli

Cerco disperatamente una guida in italiano sulla programmazione dei
controlli di Internet Explorer 5 con le MFC di Visual C++ 6.0. Particolare
attenzione a riguardo della classe CReBar e CReBarCtrl.
Grazie a tutti coloro che mi aiuteranno
Sergio



Che ne dici di MSDN?
Luc.

MSDN? Pochi esempi e in lingua inglese
Luc <TOGL...@katamail.com-TOGLI> wrote in message
news:4v8dvskoj3v1qg48b...@4ax.com...


Newsgroup: it.comp.programmare.win32
Titolo: Controlli delle finestre di dialogo

Una domanda da super-niubbo :)
Ho realizzato una dialog con l'editor di risorse di VC++6, e l'ho popolata
di controlli ognuno con il suo ID. Dalla DialogProc, come referenzio questi
oggetti? so che dal controllo posso ottenere l'handle al genitore con
GetParent, ma il viceversa come lo ottengo?
Grazie in anticipo
--
artemis.alpeia
http://spazioinwind.libero.it/artemis

 Una domanda da super-niubbo :)
ops.. scusate, ho adocchiato il messaggio "Handle di un controllo" che
risponde alla mia domanda :P
--
artemis.alpeia
http://spazioinwind.libero.it/artemis


GetDlgItem
Newsgroup: it.comp.programmare.win32
Titolo: CComboBox: set altezza

ciao a tutti, scrivendo un'app con VC6 e MFC, mi sono imbattuto nel seguente
problema:
usando una CComboBox come si puo' modificare l'altezza (in righe)
della casella a discesa che compare?
adesso, nonostante ogni mio tentativo, e' fissa su una sola riga!
msdn non e' stata di grande aiuto! (o io non la so usare, + facile)
grazie...
--
Ciao by Allanon
Q: Why do programmers always mix up Christmas and Halloween?
A: Because 25 Dec = 31 Oct

 della casella a discesa che compare?
Se stai "disegnando" la dialog tramite l'editor delle risorse, dovrebbe
essere sufficiente premere con il mouse sul pulsante di discesa ed
aggiustare quindi l'altezza della tendina.
Ciao
Porlock.

Newsgroup: it.comp.programmare.win32
Titolo: [OT]MSDN

Ho comprato il Visual Studio 6.0 Enterprise e lo installato con le lņibrerie
MSDN.
Adesso, quando vado nell'Help e clicco sulla voce che mi interressa, non
succede niente, ho sbagliato io ad installarle oppure ho mancato qualche
passo?
Vi prego aiutatemi

 wrote in message
8n1bfb$39s$1...@pluto.sm.dsi.unimi.it...


 wrote in message
8n310t$bki$1...@nslave1.tin.it...


Newsgroup: it.comp.programmare.win32
Titolo: borland e vc++

Salve a tutti
  volevo sapere se in internet si può trovare una guida al borland builder
in italiano.
E magari vostri suggerimenti per iniziare col visual c++.
Grazie
   Silvio
P.S. magari se avete pazzienza oltre a quello non è che potreste spiegarmi
in parole povere cosa sono le classi e magari qualche suggerimento per
creare un primo programmino??
Grazie ancora
   Silvio

e magari qualche suggerimento per creare un primo programmino??
In c++ o va bene in c?
int WinMain(  HINSTANCE hInstance,   HINSTANCE hPrevInstance,    LPSTR
lpCmdLine,    int nCmdShow)
{
  MessageBox(NULL, "Hello World!", "Primo programma", MB_OK|MB_ICONINFO);
 return 0;
}
Questo programma in c non fa altro che visualizzarti una finestrella e poi
uscire.
Nota: in windows la funzione di ingresso èsempre la WinMain e il
corispettivo della funzione Main dell'ambiente a console.

Newsgroup: it.comp.programmare.win32
Titolo: [URGENTE!!!] Come converto un file ASCI in una tabella Parados?

Ho una tabella in formato ASCII, e ne conosco la struttura, vorrei 
convertire il tutto in formato Paradox (DB)
C'e un moto per automatizzare la cosa? ho una tabella paradox vuota che 
dovrebbe essere riempita con le righe del file ASCII, e' una cosa 
abbastanza semplice ma al momento non mi viene in mente nulla di 
**VELOCE** per farlo....AIUTO!!!!!!
il formato del file ascii e'
CAMPO1CAMPO2CAMPO3CAMPO4<CR><LF>
altri record... sempre terminati da <CR><LF>
<EOF>
Vi prego, vi scongiuro!!!!!!
-- 
universe::earth::internet::albion->Greetz++;
 
darX...@tin.it
 
alb...@libero.it
  Fido 2:335/234.21   
http://darxstar.cjb.net
  ICQ UIN# 11151997 - eggdrop on demand
<the trees that whisper in the evening...>


Se tra un record e l'altro hai lo stesso numero e tipo di campi e il file ascii non è troppo grande
, puoi aprirlo con Excel convertendolo in formato DBF che forse Paradox riconosce (non conosco
paradox).
by Lu.

Newsgroup: it.comp.programmare.win32
Titolo: consiglio

mi sapreste consigliare un libro per la creazione delle DLL?
grazie

mi sapreste consigliare un libro per la creazione delle DLL?
cavoli un libro solo per creare una DLL mi sembra un pò esagerato :)
Provato a cercare su google?
-- 
Rhymes
rhy...@NOSPAMmyself.com

Newsgroup: it.comp.programmare.win32
Titolo: Compilatori Borland

Salve NG.
Potreste dirmi qual'č l'ultima versione del compilatore C++ della
Borland?
Grazie.
--
Saluti,
Danilo!
* Per risposte in e-mail elimina "-rimuovi" dall'indirizzo *

 Grazie.
5 per il Borland C++ Builder 
5.5 per quello free
per il Borland C++   non lo so
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Remove ICE from e-Mail
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 per il Borland C++   non lo so
E' già disponibile il Builder 5? Sai mica se si trovano in commercio
libri che trattano questa versione?
Grazie di nuovo...


per il Borland C++   non lo so
Per il Borland C++ e' la versione 5.02.
Bye.

 


Newsgroup: it.comp.programmare.win32
Titolo: VB6

Ciao a tutti...sono nuovo e vorrei cominciare ad imparare unlinguaggio..
mi hannod etto tutti che per iniziare la scelta migliore (?)
e visual basic...
sapete dove reperire un paio di tuttorial sull argomento..?
grazie..
CIAo ^_^

 sapete dove reperire un paio di tuttorial sull argomento..?
Mi pare che un tutorial sia incluso nell'ambiente Visual Basic
della Microsoft.  Se intendi libri stampati, mah, gli scaffali
delle librerie ne sono pieni, difficile trovare qualcuno che ne
abbia esaminati abbastanza da dare consigli precisi... prova
magari sul gruppo specificamente dedicato a Visual Basic, li`
dovresti trovare una gamma di opinioni su questo discorso.
Alex

Adesso non ricordo il NG preciso, ma ci sono tanti NG Microsoft, in inglese,
riguardanti il VB; prova a sottoscrivere il server
nntp://
msnews.microsoft.com/
 e a cercare quetto che ti serve...
Ciao.
--
Diego "1985" Pettenň
per gli spammer la mail č
diego...@hotmail.com
per i messaggi seri č
diego....@tiscalinet.it

Newsgroup: it.comp.programmare.win32
Titolo: Miglior Libro?

ciao ragazzi, conosco piuttosto bene i fondamenti della programmazione C++,
quale libro mi consigliate per iniziare a programmare in ambiente windows?
insomma, qualcosa che spieghi il funzionamento delle finestre, degli eventi
eccetera in maniera piuttosto ottimale e comprensibile?
Grazie, /\ngyel

 wrote in message 805dre$qrp$1...@nslave2.tin.it...

Probabilmente il Petzold, che ha il vantaggio di essere disponibile
anche in italiano (mondadori informatica).  Altri candidati comprendono
il Prosise, che ha lo stesso vantaggio (ma e` strettamente legato alle
MFC, non alle "API nude" di Windows!).
Alex
Newsgroup: it.comp.programmare.win32
Titolo: Porta seriale con CBuilder 4

Ciao a tutti,
ho esperienza di VC++ 6.0 di microsoft per la gestione della porta seriale.
Vorrei sapere come si gestisce con il C++ della borland (esattamente il
CBuilder ++ 4) la seriale. Ho visto che potrei caricare lo stesso ocx che
utilizzo con il VC6 ma se esiste gradirei utilizzare un oggetto borland.

Scusa se ti disturbo, io mi trovo nel tuo stesso problema solo che vorrei
usare propio il VC++ 6.0 siccome non ne so come venirne fuori potresti
aiutarmi? Se mi mandi un email con un aiuto te ne sarei molto grato.

--------------------------------
Inviato via 
http://usenet.iol.it
 

Mi accodo anche io, sto cercando info sulla gestione della seriale in c da
win.
Claudio

beh...io ho qualcosa.
Si tratta di una classe scritta in c++ che utilizza le API di
windows...non e' proprio un componente builder ma penso che veda bene lo
stesso.
se vuoi te la posto.
mi sembra di aver visto dei componenti che gestiscono la seriale
su 
http://www.ciemmesoft.com/componenti/freeware.asp
ciao

 wrote in message
vpoo8.82811$1S3.2...@twister1.libero.it...


 wrote in message
news:vpoo8.82811$1S3.2...@twister1.libero.it...


 wrote in message
vpoo8.82811$1S3.2...@twister1.libero.it...


Newsgroup: it.comp.programmare.win32
Titolo: SendMessage vs. PostMessage

Salve a tutti! Sono un ignorante in programmazione win32 con le API e vorrei
avere maggiori delucidazioni su ambedue le funzioni. Qualcuno sa darmi una
buona spiegazione senza creare problemi del tipo "io tifo SendMessage"
oppure "PostMessage e' + figo quindi usa solo quello!" e compagnia bella?
Mi raccomando non azzannatevi (a quello ci penso gia' io, altrimenti che
HellHound sarei?)
HellHound - scuoia CERBERO per l'indirizzo

 HellHound sarei?)
SendMessage = sincrona = al ritorno dalla chiamata il messaggio e' stato
gestito e il valore di ritorno e' quello del gestore del messaggio
PostMessage = asincrona = al ritorno dalla chiamata il messagio non e' stato
gestito, ma messo in fondo alla coda dei messaggi.
Non e' questione di tifo, ma della giusta tecnica di programmazione al
momento giusto.
Ciao. Federico.

 momento giusto.
Lo avevo intuito :)
So che dovrei studiare da qualche buon manuale, ma al momento purtroppo non
se parla :(
HellHound - uccidi CERBERO per l'indirizzo

 PostMessage?
Spero di non dire sciocchezze, ma non credo che il problema sia questo.
La prima, essendo sincrona, č anche bloccante e ti rende il controllo a
transazione finita. La seconda invece lo rende subito, senza dare un
riscontro
sull'avvenuta ricezione.
Non č cosě? ;)

Newsgroup: it.comp.programmare.win32
Titolo: Bitmap!

Chi puņ aiutarmi mandandomi il codice c++ per visualizzare una finestra
windows con una bitmap presente tra le risorse all'interno? Thx 1000.

 Chi può aiutarmi mandandomi il codice c++ per visualizzare una finestra

Newsgroup: it.comp.programmare.win32
Titolo: AnsiString e dll

Sto facendo una dll in c++ builder..
Si può usare un'ansistring
all'interno di una dll?
finchè compilo normalmente (usando le librerie
dinamicamente) funziona tutto, ma se compilo tutto all'interno mi da un
sacco di errori il linker?
Perchè?
Grazie in anticipo a chi si
interesserà..
Ciaociao
--
Minjo
--------------------------------
Inviato via 
http://usenet.iol.it

 sacco di errori il linker?
il problema è che la libreria cel c/c++ non è stata progettata per essere
usata nelle dll;io ho avuto gli stessi problemi usando gli std::vector.
ciao.

ciao.
Ok, grazie..
allora si torna alla cara gestione delle stringhe
con il c base..


all'interno di una dll?
No, se la vuoi rendere compatibile con gli altri linguaggi.
Utilizza i normali puntatori a caratteri.
-- 
The Follet

 all'interno di una dll?
Devi includere la unit sharemem nella dll e nel programma che la usa, se 
ben ricordo. Sennò non puoi passare tipi di dati complessi, come le 
stringhe reference-counted

 stringhe reference-counted
Ci tengo a precisare che in questo modo la DLL non sara'
compatibile con altri linguaggi/ambienti (vedi VC++).
In genere, e' bene scrivere le proprie DLL perche' siano 
utilizzabili anche da altri ambienti di sviluppo.
Il C++ e' critico, da questo punto di vista, perche' implementa
la decorazione dei nomi e una gestione degli oggetti (ovviamente)
diversa da quella degli altri linguaggi.
Quindi bisogna armarsi dei vecchi, cari, puntatori a caratteri
e, magari, di una bella extern "C" :)
-- 
Posted from  [80.105.34.80] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

e, magari, di una bella
extern "C" :)
Hai ragione.. ho scelto la via dei puntatori a carattere,
spartana e sempre efficace!
Ma per quanto riguarda l'extern "C" non l'ho
messo.
Dici che č una buona regola metterla?
Io le dll le ho sempre
chiamate per indirizzo..
Mettiamo che uso una dll fatta in c++ senza
mettere l'extern "c"..
ci sono dei linguaggi in cui non si puň
riutilizzare?
Grazie 


 Dici che č una buona regola metterla?
Si', se vuoi che la DLL sia interfacciabile da altri
ambienti di programmazione, oltre a quello con cui
l'hai creata.
Il C++ adotta il cosiddetto "name mangling" (decorazione
dei nomi) che ogni compilatore implementa secondo
il proprio standard.  La clausola extern "C" serve
ad abolire, appunto, la decorazione.


ad abolire, appunto, la decorazione.
ok, allora vedrň
di modificare come dici!
ma ora faccio una domanda da profano..
l'extern
va messo solo prima della funzione o anche prima della dichiarazione
nell'header?
e se sě come?
ciao

Newsgroup: it.comp.programmare.win32
Titolo: [OT]: Sito di RingZero

Salve,
qualcuno sa l'indirizzo di RingZero? Io avevo 
www.ringzer0.com
 ma non lo
raggiungo più, a qualcuno risulta che sia stato "spostato"?
Thanks! :-)
--
- Carlo -
c.b...@libero.it

qualcuno sa l'indirizzo di RingZero
che sito č?
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com
cosa c'entra Visual Basic 
con la programmazione?
(Antonio Cuni, PROGRAMMATORE)

 raggiungo più, a qualcuno risulta che sia stato "spostato"?
Non esiste piu' purtroppo :(
Puoi trovare il loro vecchio sito aggiornato a ottobre 01 in:
http://www.archive.org/index.html
e mettendo nella ricerca 
www.ringzer0.com
Buona lettura :)

 e mettendo nella ricerca 
www.ringzer0.com
Merçi beaucoup! :-)
Pensavo fosse andato perso per sempre ... :)


 ha scritto nel messaggio:
RingZer0 è un sito ricco di tutorial ed esempi su tutto ciò che riguarda il
System level.
Il contenuto degli articoli spazia dal reversing agli api hooker, parla
anche dei driver e molto altro. Un ottimo sito realizzato da persone
*estremamente* preparate ... sfortunatamente il team non ha deciso di
proseguire il lavoro! :-(


Newsgroup: it.comp.programmare.win32
Titolo: [VC++] Recuperare Fuso orario e ora legale

Avrei la necessità di recuperare (e modificare), via codice, il fuso
orario e se è attivata o meno l'ora legale.
Qualcuno sa darmi indicazioni su istruzioni per effettuare questa
operazione?
    Massimo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 operazione?
GetTimeZoneInformation
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)
Newsgroup: it.comp.programmare.win32
Titolo: controlli OCX da un progetto C

Ho fatto un programma in Visual C usando MFC.
Il programma subclassa le classi CView e CDocument
in modo da poter colorare il testo che visualizzano.
Vorrei realizzare da questo un controllo OCX.
Qualcuno sa come posso fare ?
Marco

 wrote in message
9ahc4r$eav$2...@lacerta.tiscalinet.it...


Newsgroup: it.comp.programmare.win32
Titolo: Borlad Builder C++

Salve a tutti, sono nuovo e volevo sapere se c'č qualche anima buona che mi
consiglia un buon manuale per questo "ambiente", chiaramente in italiano.
E se proprio mi volete bene: Ci sono giude o corsi su internet ?
thank $Ale$

E se proprio mi volete bene: Ci sono giude o corsi su internet ?
In italiano? Credo proprio di no. 
Ciao
Giuliano

>E se proprio mi volete bene: Ci sono giude o corsi su internet ?
Se c'è qualcosa [in inglese però] la puoi trovare su 
www.kaposnet.ru
 , io
qui ho trovato un manuale intero su Delphi e uno su Java, ma ce ne sono
altri.
Se cerchi proprio qualcosa in italiano puoi provare a vedere su
www.manuali.net
buona ricerca
Ciao
--
- Carlo -
BSSoftware Tips Mailing-List Support

>Se c'è qualcosa [in inglese però] la puoi trovare su 
www.kaposnet.ru
rettifico : 
http://www.kaposnet.hu/


Io ho trovato un libro completo sulla programmazione Borland. (in inglese).
Vuoi ugualmente il link ?
Ciao

 wrote in message 8f16n4$6ks$1...@nslave2.tin.it...

Si grazie.
Newsgroup: it.comp.programmare.win32
Titolo: Colorare un combobox

Ciao a tutti
lo soi che sarà facilissimo, ma io non ci sono ancora riuscito..!
Vorrei colorare di rosso il campo EditBox del mio Combobox quando questo campo è bianco, cioè non cè niente di selezionato.
Non riesco a capire come fare a prendere il rettangolo dell'edit box e nn delle item del combo...!
Non ho capito devo farlo da DRAWITEM o da ONPAINT...ho provato e sono riuscito a colorare solo il controno e anche in malomodo!
questo è l'ultimo tentativo che ho fatto....e il COmbo è diventato lentissimo nell'utilizzo!
LRESULT CMyComboBox::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
	CWnd *hEdit= this->GetWindow(GW_CHILD);
	RECT editRect;
	CString Text;
	CDC *myDC = this->GetDC();
	HBRUSH hBrush;
	switch (message)
	{
	case WM_PAINT:
		hBrush = CreateSolidBrush(COLORREF RGB(255,0,0));
		::GetClientRect (hEdit->m_hWnd,&editRect);
		GetWindowText(Text);
		if (Text.IsEmpty()==1)
		{
			myDC->FillSolidRect(&editRect,COLORREF RGB(255,0,0));
		}
		break;
	}
grazie!
Ciao
F

 lo soi che sarà facilissimo, ma io non ci sono ancora riuscito..!
[cut]
Non è proprio facilissimo...
Si può ottenere la edit con una riga del tipo
CEdit*	pEdit = (CEdit*) miacombo.GetWindow(GW_CHILD);
ma consiglio di leggere il codice del sorgente ReadOnlyComboBox.cpp 
scaricabile da
http://www.codeproject.com/combobox/readonlycombobox.asp
Saluti
JJ
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


http://www.codeproject.com/combobox/readonlycombobox.asp
OK ho guardato e ho scritto questo :
	CRect RR;
	CEdit* pEdit = (CEdit*)GetWindow(GW_CHILD);
	CDC * edc = pEdit->GetDC();
 
	pEdit->GetRect(&RR);
	edc->FillSolidRect(&RR,COLORREF RGB(255,0,0));
	edc->DeleteDC();
che nel programma del tipo che mi hai detto, messo dentro così com'è, funziona un po'....e poi si blocca tutto...
nel mio invece....non funziona proprio!!
Non sarà che devo inizializzare qualche cosa...?

 Non sarà che devo inizializzare qualche cosa...?
... nel sito viene indicato:
Add a normal combo box resource to your window. Set the following
properties on the resource:
Type: Dropdown 
Owner Draw: Fixed 
Has Strings: checked 
A ogni modo puoi sperimentare quel progetto intero (per visual studio)
Per curiosità l'ho appena fatto girare e funziona perfettamente!
Saluti.
JJ
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.programmare.win32
Titolo: [?] Macro WINAPI in WinMain

Vorrei imparare a programmare in C con l'SDK per Win32 ... ho cominciato
leggendo qualche tutorial, ma mi rimane un dubbio sul costrutto della
WinMain:
int WINAPI WinMain(HINSTANCE hInst,  ...
E' una funzione che accetta vari parametri e ritorna un intero, ma quel
WINAPI (che e' una macro) a cosa serve li' e che significato ha?
Grazie e Buone Feste a tutto il NG (e' la prima volta che posto qui)
Ciao.


#define WINAPI      __stdcall
la parola riservat __stdcall definisce la convenzione
di chiamata di una funzione, cioe' l'ordine con cui i parametri
vengono passati sullo stack (se vengono passati sullo stack) e
la responsabilita' della rimozione dei parametri stessi.
Stabilire la convenzione di chiamata e' indispensabile quando
e' il codice di startup (code MS, in linea di principio)
che deve chiamare del codice prodotto in teoria da un qualunque
compilatore e/o linguaggio.
Sent via Deja.com 
http://www.deja.com/
Before you buy.

 Grazie e Buone Feste a tutto il NG (e' la prima volta che posto qui)
Buone feste anche a te, e un caloroso benvenuto.
Alex

Grande !!!
Ho cominciato proprio con il tuo tutorial, che tra l'altro e' l'unico che ho
trovato in italiano. Per ora gli ho dato solo una lettura non approfondita,
ma comunque mi sembra veramente ben fatto: e' coinciso, usa un lessico
appropriato e va subito al dunque senza perdersi in chiacchere, mi sembra
l'ideale per chi (come me) sa gia' programmare ma non conosce l'ambiente
win32 ...
Stavo per scriverti una mail di ringraziamento, ne approfitto per farlo
pubblicamente sul NG.
Ciao.

 pubblicamente sul NG.
Prego, e grazie degli apprezzamenti.
Alex

Newsgroup: it.comp.programmare.win32
Titolo: Realizzare programma tipo interdialer

Salve a tutti , mi e stato commissionato
la realizazzione di un programma tipo
Interdialer della Computer Discount InterFree
In pratica il programma , scegliendo la regione
e il  prefisso del capoluogo in cui ci si
trova , ti connette al POP + vicino.
Non avendo mai avuto a che fare
con  le API di Windows , mi sapete
dire dove posso trovare della documentazione
Mi consigliate Visual basic o Visual C++?
oppure un compilatore C++ con cui si possa
usare delle librerie grafiche decenti .
Grazie a tutti
Ciao

Interdialer della Computer Discount InterFree
^_^ sto scrivendo un programma di dialer pure io..
commissionato da un cliente.
Le api sono abbastanza semplici da usare... io cmq uso Visual C++
e per l'interfaccia grafica mi sto appoggiando alle risorse... che non
sono un granchè
Antonio

Newsgroup: it.comp.programmare.win32
Titolo: NG it.comp.giochi.sviluppo

salve a tutti!
e' iniziata la fase di votazione per il NG
it.comp.giochi.sviluppo
per votare e' necessario rispondere al msg presente nel NG
it.news.votazioni
grazie a tutti gli interessati (sono necessari 100 voti!!!)
CiAo
revenant
sci...@tiscalinet.it
icq# 36030500

 revenant
Hai il mio sostegno!
Considera il mio voto già presente su it.news.votazioni!
Ciao
    Fabio
--
Fabio "C h R o N o"
UIN: 47413913
E-mail: 
fab...@puntofuturo.net
"E il maestro disse Kung. E Kung fu."
Newsgroup: it.comp.programmare.win32
Titolo: La seriale non mi parla: Access Violation e MIO MAGNO RODIMENTO

Salve a tutti.
Ho un problema che mi rode: dopo aver scritto una applicazione
"Win 32 console" con il Borland C++ (5.02, mi pare) sono
dovuto passare a MSVC 6.0 per realizzare rapidamente
-ci sono piu` abituato- la versione "finestrata" della
stessa.
Il problema e` questo: nella prima versione, accedevo
alla porta seriale con CreateFile, WriteFile, ecc...
e tutto andava bene, ora invece, dopo il CreateFile("COM2...)
non riesco piu` a compiere alcuna operazione con la
seriale: appena provo a modificare qualche impostazione,
ottengo subito "Access Violation" e il programma si blocca.
Perche' prima no e ora si`?
Scendo subito leggermente piu` nel dettaglio: ho una variabile
globale HANDLE Com_pt alla quale assegno il risultato di CreateFile. Il valore
e` buono (quindi dovrebbe essere tutto
a posto) e il CreateFile viene eseguito all'interno di
un membro che reagisce ad una scelta del menu principale
di una oggetto derivato dalla classe CFrameWnd. Non posso
pensare che le MFC siano la causa del problema, quindi...
AIUTOOOOO!
 Ubi

,

Una idea almeno generale di dove e come stai allocando e memorizzando
le strutture dati che servono per impostare i parametri della seriale
ed i buffer sarebbe molto utile.
Il debugger di VC++ ti divrebbe dire con una certa precisione
lo stack del thread che ha generato l'AV.
Prova a postare un pezzettino di codice che sembra dare, da solo,
il problema, altrimenti e' difficile tirare ad indovinare.
Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.

 Ho un problema...
Che non mi rode piu`.
Il problema e` sparito compilando "Release"
invece che "Debug": probabilmente il codice
delle librerie di debug tentava di accedere
ad arre di memoria protette per farsi i fattacci
della porta invece che i propri.
Presumo ma non saprei.
Grazie a ivanbrug che ha risposto...

,

Questo fatto e' molto sospetto.
Solitamente In versione debug ci sono piu' controlli (tipo la funzione
_checkesp()), e se c'e' un problema in modo debug, quasi sempre
c'e' anche in modo release, solo che compare molto dopo, quando il
programma e' gia' al cliente ...

Newsgroup: it.comp.programmare.win32
Titolo: Che API usa il "net send"?

Parlo di WinNT 4.0
Se io faccio un "net send GINO Che bella giornata"
sul pc GINO mi appare un MessageBox con sopra scritto:
"Che bella giornata" con un bottone di OK.
Se io volessi farlo da un programma C++ come potrei fare?
Scommetto che si parla di DCOM.
Eventualmente quale sarebbe l'oggetto in questione?
Il mio scopo sarebbe quello di inserire altri bottoni all'interno
di quel MesageBox (tipo Yes, No, Cancel).
Qualcuno mi sa dare qualche dritta?
Ciao e grazie in anticipo.
Michele.

,

Senza scomodare COM
NetAlertRaise
NetAlertRaiseEx
Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.

Se io volessi farlo da un programma C++ come potrei fare?
Potresti utilizzare WinExec ed eseguire il programma
normalmente utilizzato a linea di comando.
E` semplice, rapido ed economico!
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

Newsgroup: it.comp.programmare.win32
Titolo: Aiuto x C++ Builder 4.0

Ciao,
Sono un newbie x C++ Build e volevo sapere come erea possibile
interfacciarsi ad un database .mdb di microsoft Access.Penso che bisogni
inserire un oggetto di "data controls" ma non so quale, ne' quali campi
bisogna riempire x , ad esempio, specificare il nome del file di database.
GRAZIE,                        Paolo

Dunque, ti spiego i sistemi piu' semplici. In via teorica pero', perche' l'ho
fatto solo una volta  e tempo fa....
Cerca nel cd del Builder o su internet i programmi regsrv.exe o regdvr32.exe
La sintassi dovrebbe essere      regsvr32.exe /s *.dll (se ce ne sono)
 oppure  regsvr32.exe /s  *.ocx
Questi programmi potrebbero poi essere avviati automaticamente ad esempio dal
programma di installazione installshield.
Se questo non funziona, proveremo con un altro sistema...
Ciao,
Alberto
Salchia ha scritto:

Newsgroup: it.comp.programmare.win32
Titolo: Stampare testo con le API...

Qualcuno mi può spiegare come posso stampare del testo con le API...magari
passando dal dialogo standard per la selezione della stampante...
Grazie
        Riccardo

 passando dal dialogo standard per la selezione della stampante...
Stampare su carta non è molto diverso da stampare su video...
Quindi le api sono le stesse, l'unica cosa che cambia è il contesto (hDC)
Se utilizzi la funzione PrintDlg(LPPRINTDLG lppd), riempendo opportunamente
la struttura PRINTDLG che gli passerai,
ti apparirà il dialogo standard per la selezione della stampante e a scelta
ultimata avrai in lppd->hDC l' HDC su cui dovrai disegnare o scrivere,
quindi non ti resta che utilizzare un api generica per la stampa del testo
quale TextOut o DrawText.
Per poter stampare sarà però necessario definire un documento di stampa e lo
puoi fare con le API StartDoc ed EndDoc.
Ci aggiungo un banale esempio
Ciao
#include <windows.h>
int PASCAL WinMain( HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpszCmdLine,
    int nCmdShow )
{
 PRINTDLG pd  ;
 DOCINFO di  ;
 ZeroMemory(&pd,sizeof (PRINTDLG)) ;
 // Definisco il mio printer dialog
 pd.lStructSize         = sizeof (PRINTDLG) ;
 pd.Flags               = PD_ALLPAGES | PD_COLLATE | PD_RETURNDC |
PD_USEDEVMODECOPIESANDCOLLATE ;
 pd.nCopies             = 1 ;
 // le informazione sul doc. di stampa
 di.cbSize = sizeof(DOCINFO)   ;
 di.lpszDocName = "ProvaDiStampa" ; // titolo
 di.lpszOutput = NULL     ; // verrà utilizzato quello dell'hdc
 di.lpszDatatype= NULL     ; // lascio scegliere al driver
 di.fwType  = 0      ;
 if(PrintDlg(&pd)!=0)
 {
  TextOut(pd.hDC,50,50,"L'ho fatta fuori dal vaso",25) ; // E' Fuori dal
DOC, verrà ignorata
  StartDoc(pd.hDC,&di)            ; // Inizio il mio doc di stampa
  TextOut(pd.hDC,100,100,"Prova di Stampa",15)    ; // Scrivo nel DOC
  EndDoc(pd.hDC)              ; // Stampo il doc
 }
 // Elimino il DC creato da PrintDlg
 DeleteDC(pd.hDC) ;
   return 0;
}

 puoi fare con le API StartDoc ed EndDoc.
Grazie mille, sei stato molto esauriente !!!
Ciao
        Riccardo

Newsgroup: it.comp.programmare.win32
Titolo: Da API a MFC

Esiste un manuale (o meglio sito internet, programma,ecc) che dice quale
funzione MFC fa la stessa cosa di una certa API? Mi spiego meglio.... Io per
esempio vorrei usare in VC++ l'Api "ShellExecuteEx" per accere alle
proprietà di un file. Ora mi chiedo quale è l'istruzione in MFC che fa la
stessa cosa?
E poi un'altra cosa: esistono esempi su come usare le API in VC++? (mi
piacerebbe un programmino come l'Api Guide del VB)
Grazie mille

 piacerebbe un programmino come l'Api Guide del VB)
ci sono diversi siti che pubblicano degli esempi sull'utilizzo delle API,
della libreria MFC ecc...
alcuni sono:
www.mindcracker.com
www.codeguru.com
www.codeproject.com
www.programmersheaven.com
poi basta che da ciascuno di questi esplori la sezione "link" per averne
altri.
Ciao
Newsgroup: it.comp.programmare.win32
Titolo: Exception sul delete di un oggetto creato con New

Tirando via il segno di commento all'ěstruzione lstrcpy, quando arrivo al
delete mi viene lanciata un eccezzione, debuggando mi ritrovo in dbgheap.c
Qualche suggerimento?
LPSTR lpStringTemp = new char[lstrlen(lpString)];
//lstrcpy(lpStringTemp, lpString);
delete lpStringTemp;

 wrote in message
news:8Oukc.172816$rM4.7...@news4.tin.it...

Manca il il carattere terminatore della stringa. lstrlen riporta la
lunghezza della stringa a meno del carattere terminatore.
se fai cosě dovrebbe funzionare :
LPSTR lpStringTemp = new char[lstrlen(lpString) + 1 ];

 lunghezza della stringa a meno del carattere terminatore.
Manca anche un'altra cosa (che pero non determina quel tipo di errore)
delete []  ...
stai eliminando un vettore non un singolo char.
Newsgroup: it.comp.programmare.win32
Titolo: Tab control - aiutooooo!

Vi prego di aiutarmi, non so piů dove sbattere
la testa. Non sono pratico di interfacce grafiche con
Visual C++, ma stavolta la devo fare e quindi devo
imparare. Voglio mettere un bel Tab control che mi
faccia switchare tra piů viste dello stesso dialog, una cosa
normalissima che col Borland C++ Builder si fa graficamente
in 5 min. Ora, ho disegnato l'oggettino che di default ha 5
pannelli.
Come faccio a metterne meno di 5? E a cambiare i nomi?
E a inserire dentro un tab dei pulsanti-caselle di testo-etc?
Quando li disegno mi compaiono in automatico sullo sfondo,
insomma manca qualcosa, cosa, cosa, cosa??
Rispondetemi per favore, che mi sono letto tutta la MSDN
e sto per impazzire!
Grazie!
Ps. perchč non rispondete mai ai miei topic? Faccio domande 
troppo stupide?

Aggiornamento:
Aggiungendo le seguenti righe a CTestWinsock2Dlg::OnInitDialog() riesco a
vedere i due tab nominati Ciao e Ciao2.
 tabbb.InsertItem(0,"Ciao");
 tabbb.InsertItem(1,"Ciao2");
Come faccio ora a visualizzare i contenuti di queste tab?
Come faccio soprattutto adisegnarli intanto?



Vedo che usi MFC, mentre io programmo con le API direttamente, in ogni
caso devi gestire gli eventi legati al controllo tab e con una serie
di showwindow visualizzare/nascondere i controlli (in base al tab
selezionato), se ne hai pochi.
Purtroppo in Visual C++ (come in altri ambienti non rad) la comodità
di disegnare form complessi, con più frame sovrapposti contenenti
decine di controlli che switchano con un colpo di click in design time
non c'é.
Una possibile soluzione è di usare diverse dialog box, disegnate
ognuna separatamente, tutte senza bordi, caption etc. e una dialog
box/window principale che contiene il tab control: all'interno della
dialog/window procedure principale carichi le diverse sub-dialog box e
ne gestisci la visualizzazione.
In pratica crei un property sheet.
Ciao e buon lavoro (è macchinoso ma non complesso)
Stefano "HappyMan" (Lago Maggiore - NO)
--
Personal Web 
http://www.sgr.info
Email happyman69 (at) 
libero.it

 ne gestisci la visualizzazione.
Capisco... Ma senti, potresti postarmi un esempio di codice in cui
attivi la visualizzazione di un dialog mentre ne disattivi un altro?



Non lavorando con MFC non saprei come scriverti il codice.
Con le API gestisco direttamente gli eventi relativi al click del tab
all'interno del messaggio WM_COMMAND.
Siano hDlg1, hDlg2 etc gli handle delle tue dialog box (non modali)
create dalla dialog/window procedure principale, puoi fare per esempio
ShowWindow(hDlg1,SW_HIDE) per nascondere la dialog 1.


 ShowWindow(hDlg1,SW_HIDE) per nascondere la dialog 1.
ricordati che hDlg1 e hDlg2 devono essere create con DialogBox o
DialogBoxParam (per farle modeless) e che quando chiami una di queste
funzioni devi specificare l'handle della finestra di dialogo principale
come hWndParent.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.programmare.win32
Titolo: Creazione di una dll......

Uso Borland C++ Builder 4 e MS VC++ 6 .....
ho creato una dll che compilano entrambi......
però quando cerco di caricarla con un programma mi dice che la
procedura che cerco non esiste.... eppure la procedura ha quel nome!
L'esportazione di funzioni secondo i manuali si deve fare in questo
modo:
valore WINAPI __declspec(dllexport) procedura.........
ho rimosso il winapi e inserito la dichiarazione come extern "C" ma
xché non mi salva il nome corretto ??
una votla caricata...... dopo aver trovato il nome che il compilatore
ha assegnato alla funzione mi restituisce un errore nello stack.......
xché gestire una propria dll é così incasinato ??
ho bisogno di caricare la dll da visualbasic....... quindi se funziona
sotto quell'ambiente del c++ non mi interessa......
Antonio

 stack.......
E te lo credo, se hai tolto WINAPI!
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/

E te lo credo, se hai tolto WINAPI!
lascia stare...... 
purtroppo per motivi che non so spiegarmi mi dimentico di cose che ho
fatto 3 o 4 sec prima...... insomma la dll che caricavo stava in una
directory.... mentre quella che creavo di volta in volta in un'altra
:) ci ho perso un'oretta a rendermi conto di quello che combinavo.
poi per errore ho dato un'occhiata alla directory dove lavoravo... ed
ho visto le subdir release e debug..... e mi sono ricordato :)
la dll funziona..... però ora ho qualche problema di compatibilità di
tipi col visual basic
cmq grazie lo stesso
Antonio

 stdcall ?
Veramente extern "C" serve soltanto per eliminare il "name mangling" che
tutti i compilatori C++ aggiungono ai simboli esportati. Se metti solo
WINAPI il name mangling c'e` ancora eccome.


WINAPI il name mangling c'e` ancora eccome.
non c'entra più di tanto con la vostra discussione, ma extern "C" non
elimina solo il name mangling: impone al compilatore C++ di usare una
convenzione di chiamata C, invece di quella che usa normalmente.
Anto
--
Antonio Cuni, 18 anni, studente
Brainbench Certification: 
Master C++: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
http://www.brainbench.com/transcript.jsp?pid=1301688

 normalmente.
Certo. A meno che non si specifichi esplicitamente la calling convention
all'interno del blocco. Ad esempio e` del tutto lecito dichiarare
funzioni CALLBACK dentro a blocchi extern "C", e in certi casi (tipo gli
screensaver) e` pure necessario.


screensaver) e` pure necessario.
ma perché gli dico extern "C" e poi il linker usa la sintassi
cdecl ?????????
Newsgroup: it.comp.programmare.win32
Titolo: VC++ : Cambiare il font di una label in un CTreeCtrl

Ciao a tutti, sono un nuovo utente della newsgroup.
Vorrei sapere come si può cambiare il font di una label in un'oggetto
CTreeCtrl, e come ordinare all'oggetto stesso di ridisegnare quella label
con quel formato (mi accontento anche solo di mettere in grassetto la
stringa).
Grazie in anticipo dell'aiuto.
Matteo

 con quel formato (mi accontento anche solo di mettere in grassetto la
Se non sbaglio, non c'e` modo di avere un font arbitrario per un
dato item di un controllo tree-view che sia diverso dagli altri (e il
CTreeCtrl non fa altro che "vestire" il common control "tree-view").
Per il grassetto, pero`, e` facile.  Il flag di stato TVIS_BOLD di un
item di un tree-view indica che esso dev'essere in grassetto.  La
funzione-membro SetItemState di un controllo CTreeCtrl ti permette
appunto di cambiare alcuni bit di stato:
    -- il primo parametro e` l'handle dell'item che vuoi cambiare,
    -- il secondo e` il nuovo valore dei bit di stato (passa TVIS_BOLD
        per metterlo in grassetto, 0 per toglierlo dal grassetto),
    -- il terzo e` la "maschera" di quali bit di stato vadano sovrascritti
        coi corrispondent valori del secondo parametro (passa dunque
        qui TVIS_BOLD per settare o re-settare soltanto quel bit)
(La "handle dell'item" (1o parametro di SetItemState) e` naturalmente
quel valore che ti avra` precedentemente tornato la InsertItem, oppure
puoi recuperarla con le varie GetXYZItem, secondo le esigenze...)
Alex