mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: Thread e GUI

E' possibile visualizzare GUI in 2 thread diversi (in Win32)?
Ciao.Sergio
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 
Sì, puoi aprire finestre da thread diversi e gestire diversi loop dei 
messaggi ma, per esperienza, ti consiglio di evitarlo se puoi.
Se descrivi il problema che ti ha portato a dover fare 2 thread 
separati, magari qualcuno troverà una soluzione più semplice...
-- 
Valter Minute
(the reply address of this message is invalid)
(l'indirizzo di reply di questo messaggio non è valido)

 wrote 
innews:7da4023bb5e2c61e9bb...@mygate.mailgate.org
:

Scusate se mi aggiungo alla discussione ma sto affrontando un problema
analogo...
Ho un servizio dove ho aggiunto una icona alla Taskbar notification
area e vorrei rispondere ai messaggi del mouse. Ho creato quindi una
finestre message-only in un thread separato ma non riesco a ricevere i
messaggi. C'è qualcuno che ha già realizzato una cosa del genere?
Grazie!
Roberto

 realizzato una cosa del genere? Grazie!
Ma il thread separato ha un loop dei messaggi?


messaggi.
Il thread separato ha una sua coda di messaggi ? la coda di messaggi
si crea la prima volta che invochi GetMessage()/PeekMessage() ed è
bene che chi crea il thread si assicuri che la coda sia stata creata,
prima di postare messaggi, invocando la PostThreadMessage() sino a che
non restituisce TRUE.
Newsgroup: it.comp.programmare.win32
Titolo: Creazione ed utilizzo delle LIB

Ciao utilizzo VC++ 6.0 con MFC
Tramite wizzard ho provato a realizzare una Win32 Static Library che ho
chiamato  Prova.
Ho creato una classe chiamata CMyClass nella quale ho implementato una
funzione membro:
long CMyClass::FaiLaSomma( int i, int j)
{
    return i + j;
}
Ho complilato il tutto senza errori e sotto la cartella Release del mio
progetto ho
trovato il file: Prova.lib il tutto come avevo previsto... (bella scoperta
penserete...)
Ora il mio dilemma e' il seguente:
Come faccio ad utilizzare una libreria ad esempio in un progetto MFC
AppWizzard(exe)??
In altre parole, dopo che ho con tanto sudore creato la libreria Prova.lib
come posso chiamare
la mitica funzione FaiLaSomma da un altra applicazione???
Sicuramente dovro' dire al nuovo progetto che dovra' includere la mia
libreria ma non so proprio
come fare... e dovro' anche dire che FaiLaSomma la trovera' nella
libreria... uff!!
Potete aiutarmi??
Ciao e ancora grazie.

 AppWizzard(exe)??
Inserisci il file .LIB nel progetto (lo aggiungi proprio come faresti
con un file .CPP o .RC), poi dichiari le funzioni "esterne" (in modo
classico oppure con __declspec(dllimport)).
... Do NOT look into laser with remaining eyeball!
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

mi sembra che non ci sia bisogno di dichiare le funzioni esterne , o
sbaglio???
(la libtiff funziona senza)
Lorenzo Lutti <lorenz...@DOHtiscalinet.it> wrote in message
news:884433$sp7$3...@pegasus.tiscalinet.it...


 (la libtiff funziona senza)
Se funziona senza, evidentemente devi includere un header che a sua
volta conterra` le dichiarazioni. Proprio come succede con windows.h (e
amici) nel caso delle librerie di Windows, o directx.h (e amici) nel
caso delle DirectX.
In linea di principio un programma potrebbe essere compilato e linkato
anche senza dichiarare le funzioni esterne: il compilatore del Visual
C++ ad esempio da` solo un warning e assume che il simbolo sconosciuto
sia di una funzione cdecl che ritorna un int. Pero` trovo che sia
controproducente imparare a fare le cose "alla peggio" in questo modo...
;-)
... Oxymoron: Weather Forecast.

Newsgroup: it.comp.programmare.win32
Titolo: [?] Collisione tra 2 forms

Ciao a tutti !
Qualcuno sa se c'e' un modo semplice per rilevare la collisione tra 2 form ,
uno dei quali in posizione ignota ?
Intendo dire..
immaginatevi 1 o piu forms aperti sul desktop, in posizione ignota (prendete
ad esempio 2 notepad aperti e posizionati da qualche parte sul desktop).
Ora... ho un nuovo form, che si muove in giro per lo schermo "casualmente",
con una routine ovviamente.
Vorrei che questo nuovo form capisse quando é andato a cozzare contro uno
degli altri form.
Ho in mente che c'era un API che faceva qualcosa di simile..solo che non
ricordo qual'e'....  c'e' qualcuno che ha buona memoria ?
Grazie per aver letto il mio messaggio.
Dave
--
"L'importante non č conoscere tante cose ma sapere dove trovarle"
A. Einstein

ricordo qual'e'....  c'e' qualcuno che ha buona memoria ?
Due soluzioni:
1. Ti ricavi i rettangoli relativi alle varie finestre (EnumWindows per 
scorrere le finestre top-level e GetWindowRect per le coordinate) e usi 
IntersectRect per vedere quale si interseca con il tuo.
2. Utilizzi WindowFromPoint e vedi se uno dei vertici cade dentro un'altra 
finestra (in questo caso non vengono controllate le finestre che sono 
completamente coperte da quella in oggetto).
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)
Newsgroup: it.comp.programmare.win32
Titolo: Checkboxes nei subitems di un CListCtrl

    Come da subj vorrei una lista derivata da CListCtrl con dei checkboxes
nei subitems.
    Non riesco a trovare un bricciolo di documentazione... qualche idea ?
Fabio


Hai provato a vedere CCheckListBox di MFC???
Ciao,
Gianfranco

> Hai provato a vedere CCheckListBox di MFC???
    Si, ma il mio problema e' che vorrei i Chk nei subitems, CCheckListBox
deriva da CListBox che direi non proveda subitems.
    Potrei mettere mano all'OwnerDraw della CListCtrl ma e' un pacco. Se
proprio non c'e' alternativa ...
Grazie comunque.
Happy programming, Fabio

Newsgroup: it.comp.programmare.win32
Titolo: Versione di un file exe

Salve a tutti.
Non so quanti di voi utilizzino GetRight, io sì e lo consiglio a
tutti. Per personalizzarlo maggiormente ed avere la possibilità di
scaricare i componenti VCL e altri programmi da Internet ad alta
velocità con i mirrors, ho preparato una lista di mirror personale.
Sto tentando di distribuirla (tramite The Games Machine e il mio sito
http://dgp85.spedia.net
), e sto creando un programma console per
l'installazione. Purtroppo ho problemi a leggere la versione di
GetRight.exe, usando GetVersionInfo e VerQueryValue ho un valore sulla
variabile LPVOID * *Version un valore non molto veritiero. Con la
versione 4.1.2 mi da questo valore: 0041F118...
Ciao.
--
DGP85
http://dgp85.spedia.net/


wrote:

--
DGP85
Se vuoi ricevere informazioni su come guadagnare con
Internet, scrivimi a 
di...@cdfreaks.zzn.com
 o visita
il mio sito all'indirizzo 
http://dgp85.spedia.net/
Newsgroup: it.comp.programmare.win32
Titolo: Nuovo linguaggio di programmazione: Oko

(Scusate per l'inglese. Non ho ancora tradotto tutti i testi. Se avete 
domande, potete scrivere anche a: 
mos...@interlog.com
)
We have finished testing Oko. It now becomes shareware. You can download an 
evaluation copy and/or purchase a registered copy on-line: 
www.ploko.net
.
Oko is a development tool for building Windows applications. It uses an 
object-oriented programming language similar to C++ and has a rich set of 
visual tools that make application creation a relatively easy and intuitive 
task. Its integrated development environment allows you to create a wide 
range of functional units that can benefit both from the power of the 
language and the versatility of the GUI tools. An efficient code generator 
makes your source code compact and clear and lets you skip many explicit 
initializations. At the same time, code generation is configurable, so that 
you can insert your own code at any level, as well as turn off the automatic 
generation of any of the components.
Oko has a set of visual database tools that use ODBC to connect to data 
sources. It can generate data forms and provides a set of flexible data 
controls to facilitate the creation of database applications. For many 
tasks, Oko can replace systems such as Microsoft Access generating database 
applications with no programming involved. The advantage of Oko is that its
applications are very compact, fast, and, of course, stand-alone. It also 
has a built-in report generator.
Oko produces either Win32 executables or dynamic link libraries (DLLs) from 
which you can export functions to be deployed in any other program. It 
creates stand-alone executables that need no other modules to run.
www.ploko.net

 task.
Ancora un altro linguaggio??? Le decine già disponibili per windows non sono 
sufficienti?!?! O è un bel test di programmazione per gli sviluppatori di 
"Oko"?
-- 
Luc
Newsgroup: it.comp.programmare.win32
Titolo: Generare eventi...

Ciao.
Sapete dirmi se c'e' un modo semplice per far generare eventi ad una propria
classe, senza dover per forza fare un Activex?!?
Ed eventualmente tali eventi, una volta creati, vengono visti dal
ClassWizard?
Per intenderci, io uso il Visual C++ 6.
Grazie, ciao!
Davide
--
+------------------------------
+ Davide Gastaldi
+ mailto:
gda...@libero.it
+ ----------
+------------------------------

 Per intenderci, io uso il Visual C++ 6.
Certo.  Ad esempio, se usi ATL 3 (che e` parte di VC++6),
Insert New ATL Object di un semplicissimo oggetto COM nel
tuo progetto ATL (o MFC: verra` ATL'izzato) ti presenta
una pagina con due tab.  Sul tab "Attributes", clicca su
"Support Connection Points", e voila, potrai generare
eventi COM senza tutto il resto dell'ActiveX.
Dovrai aggiungere gli eventi alla tua source dispinterface,
generarti il relativo proxy, e chiamare Fire_NomeEvento
quando desideri generare l'evento COM, ovviamente.
("Evento" e` un termine dannatamente ambiguo in Windows,
fra le tante cose si riferisce anche a un tipo di kernel
object, ma non cascarci: l'API CreateEvent crea appunto
un *kernel object* di Event che penso non abbia nulla a
che fare con quel che desideri:-).
Quando avrai registrato il tuo server COM fatto con ATL
(anche del tutto privo di ActiveX), potrai usarlo (da
ClassWizard in VC++6, da project/references in VB, ecc)
come qualsiasi altro oggetto COM, da tutti i progetti
in cui lo vorrai inserire.
Alex
Newsgroup: it.comp.programmare.win32
Titolo: info programmazione C w32/linux

Ciao
quali sono le reali differenze fra la programmazione C fatta su linux e 
su w32?
grazie

 su w32?
Windows ha delle librerie di sistema che linux non ha, e viceversa. 
Inoltre scrivendo un programma "grafico" a finestre introduce concetti 
diversi dal programma C procedurale. Insomma, se programmi in C standard 
è sostanzialmente la stessa cosa (per definizione) mentre se ti inoltri 
al di fuori dello standard si possono trovare ambienti completamente 
diversi.

Newsgroup: it.comp.programmare.win32
Titolo: non MFC!!!!

Sto utilizzando un oggetto grafico che richiede tipi Variant nei parametri.
In MFC si può usare COleVariant(_T("111")) per le stringhe e
COleVariant(111) per i numeri, ma il progetto che sto sviluppando non viene
sviluppato con le MFC.
Per quanto riguarda le stringhe ho risolto utilizzando le String* gestite,
ma non riesco a trovare un corrispondente per i numeri.
Ringrazio anticipatamente chiunque mi possa aiutare.

 
Non si capisce in che linguaggio e soprattutto con quale libreria tu 
stia sviluppando...?
Stai usando il C++ con Win32 SDK? Non credo, perche' parli di String, 
che in C++ standard non esiste...
In ogni caso, se usi il C++ con SDK, potresti piu' o meno vedere il 
codice di COleVariant, e riproporlo con opportune modifiche per la tua 
applicazione.
Oppure, potresti utilizzare uno "straterello" software MFC per gestire i 
variant; tale straterello ti farebbe poi da interfaccia per il C++ 
standard.
Cioe', es.:
std::string [C++]
 ==> CString [MFC] 
   ==> Ole variant (gestito tramite MFC)
MFC ti farebbe cioe' da interfaccia tra OLE e i tipi del C++ standard.
Pero', ripeto, si hanno pochi elementi per valutare...
Ciao
Dan

 ha scritto nel messaggio
news:MPG.1bfd65c84...@powernews.libero.it...

Non conosco MFC e sto sviluppando con l'ambiente di sviluppo C++ .NET
un'"Applicazione Windows Forms".
La libreria grafica è una libreria commerciale acquistata pochi mesi fa.

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

Buon Natale e Felice Anno Nuovo a tutto l'NG.
Drugo

 Drugo
Grazie ed auguri a te ed a tutti quanti
Buon Natale
Felice 2003
Ellebi

Grazie e contraccambio gli auguri a tutti i lettori del NG :-)
--
Virtual

 ha scritto nel messaggio
news:atvlie$vg8$1...@lacerta.tiscalinet.it...

Newsgroup: it.comp.programmare.win32
Titolo: [OT] Differenze tra un wrapper ed un framework

Ciao a tutti,
vi pongo una domanda che da qualche giorno mi frulla per la testa:
quali sono le esatte definizioni di "wrapper" e di "framework" (sia
legate al mondo Win32 sia piu' in generale) ?
E' possibile considerare un framework come un wrapper con molte piu'
funzioni o viceversa il wrapper come un semplice framework ?
'Notte :-)
Stefano "HappyMan" (Lago Maggiore - NO)
--
Personal Web 
http://www.sgr.info
Email happyman69 (at) 
despammed.com

 funzioni o viceversa il wrapper come un semplice framework ?
bah, dopo quello che ho scritto ti potrei dire che tutto è possibile.
mi hai messo la pulce nell'orecchio e ora cerco il significato di questi
termini nel campo di programmazione.
ciao!
f.

 funzioni o viceversa il wrapper come un semplice framework ?
ora che ho chiarito le (mie) idee direi di NO, a meno che tu non stia
parlando di _quel_ framework (MFC o simile)...
notte :-)
f.

 Stefano "HappyMan" (Lago Maggiore - NO)
Andrea

 funzioni o viceversa il wrapper come un semplice framework ?
Ciao, evitando la "filosofia" ti faccio subito un esempio concreto :)
Se tu sviluppi delle classi C++ "ricalcalte" sui controlli GUI di Win32 
SDK (che e' puro C), stai facendo un *wrapper* C++ di quei controlli 
GUI.
es.: hai la funzione API :
SetWindowText( HWND hWnd, const char * text );
se fai una classe C++ Window e la doti di un metodo 
Window::setWindowText() stai costruendo un wrapper:
class Window {
public:
    void setWindowText( const std::string & text ) {
        ::SetWindowText( hWnd, text.c_str() );
    }
protected:
    HWND hWnd; // handle della finestra
};
I framework sono qualcosa in piu' di un semplice wrapper. Es.: 
implementano una "architettura" piu' complessa (come la architettura 
docuemnto/vista, da parte di MFC). Tipicamente un framework ti fornisce 
dei punti di collegamento, che tu implementi (es.: facendo override di 
metodi virtuali di classi gia' definite dal framework); diciamo che "il 
framework guida", e quando gli serve qualcosa chiama un qualche tuo 
metodo.
Invece, se usi un semplice wrapper Win32 come quello che ti dicevo 
sopra, se *tu* che "guidi" (es.: definirai la tua WinMain(), gestirai tu 
il salvataggio di documenti, la visualizzazione degli stessi, etc.). 
Invece, con MFC, ti "infili" con il tuo codice in una struttura 
(framework) gia' definita dagli sviluppatori di MFC.
Spero di essere stato utile...
Ciao,
Dan
Newsgroup: it.comp.programmare.win32
Titolo: Controllo del mouse via software

Scusate se irrompo cosě in questo ng, ma mi serve un'illuminazione: come
riesco a fare un click col mouse via software?
Mi spiego: ho fatto un programmino VB che deve muovere il puntatore in un
determinato punto per cliccare un bottone (non posso usare il tasto invio
tramite SendKeys), per spostare il puntatore nessun problema (uso
SetCursorPos) ma per fare il click non riesco a trovare il modo. Qualcuno
puň aiutarmi?
Ciao a tutti e grazie.

...

Potresti utilizzare la SendMessage, che perň richiede l'handle della
finestra interessata! Una volta che il mouse č posizionato sul bottone
potresti richiamare la WindowFromPoint, questa ti restituisce l'handle del
controllo sul quale č posizionato il cursore. A questo punto gli invii un
bel messaggio WM_LBUTTONDOWN seguito (magari dopo un breve delay) da un
WM_LBUTTONUP. In alternativa prova a dare un'occhiata a Mouse_Event.
Ciao!
--
- Carlo -

Io in Visual C ho fatto cosi:
void ClickButton( HWND btnWnd )
{
 RECT rc ;
 HDC hdc ;
 POINT c ;
 int ym, xm ;
 hdc = GetWindowDC( btnWnd ) ;
 GetWindowRect( btnWnd, &rc ) ;
 ReleaseDC( btnWnd, hdc ) ;
 ym = rc.top + (rc.bottom-rc.top) / 2 ;
 xm = rc.left + (rc.right-rc.left) / 2 ;
 SetCursorPos( xm, ym ) ;
 SendMessage( btnWnd, WM_LBUTTONDOWN, (WPARAM)(MK_LBUTTON),
  (LPARAM)((ym << 16) + xm) ) ;
 SendMessage( btnWnd, BM_SETSTATE, (WPARAM)1, (LPARAM)0 ) ;
 Sleep( 20 ) ;
 SendMessage( btnWnd, WM_LBUTTONUP, (WPARAM)(0),
  (LPARAM)((ym << 16) + xm) ) ;
 SendMessage( btnWnd, BM_SETSTATE, (WPARAM)(0), (LPARAM)0 ) ;
}
Ciao Andrea
--
Posted from 
www.pneusonline.it
 [195.31.179.99] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

come riesco a fare un click col mouse via software?
A seconda del s.o che usi puoi usare "mouse_event" o "SendInput".
SendInput va meglio per 98/NT/2K, mentre non e' supportato da 95.
Esempio per mouse_event (analogo per SendInput) :
procedure TForm1.Timer1Timer(Sender: TObject);
var P : TPoint ;
    MaxX, MaxY : integer ;
begin
  Timer1.Enabled := false ;
  P.x := Button1.Left + Button1.Width div 2 ;
  P.y := Button1.Top + Button1.Height div 2 ;
  P := Form1.ClientToScreen( P ) ;
  MaxX := GetSystemMetrics( SM_CXSCREEN ) - 1 ;
  MaxY := GetSystemMetrics( SM_CYSCREEN ) - 1 ;
  P.x := ( P.x * 65535 ) div MaxX ;
  P.y := ( P.y * 65535 ) div MaxY ;
  mouse_event( MOUSEEVENTF_ABSOLUTE +
               MOUSEEVENTF_MOVE +
               MOUSEEVENTF_LEFTDOWN,
               P.x, P.y, 0, 0 ) ;
  mouse_event( MOUSEEVENTF_ABSOLUTE +
               MOUSEEVENTF_MOVE +
               MOUSEEVENTF_LEFTUP,
               P.x, P.y, 0, 0 ) ;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage( 'Click !' ) ;
end;
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------
Dovro' prendere lezioni di Internet, 
se non sai di Internet non ti considera nessuno 
(Carmen di Pietro) 
-----------------------------------------------


Ho visto un programmillo in VB con sorgenti che fa fare al mouse qualsiasi
cosa. Lo trovi su 
www.beginend.com/vbasic
Ciao :-)
MaxVax
Newsgroup: it.comp.programmare.win32
Titolo: HE(A/L)P

cioe', aiuto sull'heap.
Win32, VC++ prof, MFC doc/view.
Devo allocare qualcosa come 500 mb di robba (non io, lo fa il framework. Ho
fatto eseguire passo passo e alla fine ho scoperto che il marchingegno si
pianta su una _heap_alloc o qualcosa di simile da 500M).
I 500 MB sono la dimensione dell'oggetto document.
L'allocazione fallisce e il programma non parte. Fino a circa 128M riesce ad
allocare, oltre no.
Quaestio: e' un limite intrinseco di win32? Se no, come gli dico al sistema
di permettermi di allocare mezzo giga (mi sembra di ricordare che la mem.
virtuale e' di 2GB, almeno credo).
Grazie,
Marco

 virtuale e' di 2GB, almeno credo).
Sotto a Windows 9x e ME e` qualcosa di meno; sotto a NT, 2000 e XP
"normali" e` attorno ai 2 GB; poi ci sono versioni di NT/2000/XP
particolari che arrivano a 3 GB.
In ogni caso credo che per risolvere il tuo problema debba allocare
blocchi di memoria piu` piccoli, fino a ottenere complessivamente i 500
MB che ti servono. Anche la memoria virtuale risente del problema della
frammentazione; per allocazioni "normali" si tende a dimenticarsene,
tanto in 4 GB dei buchi vuoti ce ne sono finche` si vuole. Quando pero`
inizi ad allocare un quarto della memoria totale, trovare un segmento
contiguo di quelle dimensioni inizia a diventare difficile.
--
Lorenzo

 contiguo di quelle dimensioni inizia a diventare difficile.
Trovato. Non e' esattamente frammentazione. A chi interessa,
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q198959
Sarebbe simpatico provare con una malloc da 500 mb su XP o su 2000, cosi'
per vedere l'effetto che fa..
Marco

 per vedere l'effetto che fa..
Fatto!!!! Con Windows XP Professional, 256 MB di RAM, Outlook, Visual
Studio.net aperti ed il media player 8 in esecuzione non č nemmeno
saltata la musica! Certo, ci ha messo un po' (sul minuto per allocarla e
un po' di piů per liberarla) comunque ci č riuscito! Anche se non era
malloc ma:
char* a = new char[512 * 1024 * 1024];
std::cout << "Memoria allocata " << endl;
delete [] a;
ci č riuscito!

Newsgroup: it.comp.programmare.win32
Titolo: [MFC] errore damage

ciao a tutti,
sto scrivendo una applicazione con le mfc, tutto andava bene quando ad un
certo punto, eseguendo il programma mi salta fuori questo errore:
"DAMAGE: after Client block (#49) at 0x015918A0"
l'errore si verifica nel momento in cui chiudo l'unica finestra del
programma.
ora, capisco che gli indirizzi di memoria siano relativi e quindi di poca
utilita'... ma se qualcuno si e' gia' imbattuto in questo errore potrebbe
dirmi da che cosa potrebbe essere provocato, e magari anche come risolvere?
grazie in anticipo, assa.

 ha scritto nel messaggio
news:bca88u$h6nl1$1...@ID-60516.news.dfncis.de...

non so sinceramente cosa fosse, ma mi e' bastato fare un "Rebuild all" per
sorpassare il problema...
errori nei file temporanei creati dal compilatore? bug? boh...
ciao, assa.
--
gosclient: 
http://members.xoom.it/gosclient/
join the mailing list: 
http://groups.yahoo.com/group/gosclient/join
Newsgroup: it.comp.programmare.win32
Titolo: Modifica listino in Euro con Excel

Devo modificare il mio listino prezzi da Lire a Euro e non so che comando devo
dare.Potete aiutarmi? Grazie
-- 
Posted from 
ppp-62-10-119-173.dialup.tiscali.it
 [62.10.119.173] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 dare.Potete aiutarmi? Grazie
una divisione?

Newsgroup: it.comp.programmare.win32
Titolo: Aiuto File Autorun

Salve a tutti,
ho un piccolo problema (altrimenti non starei scrivendo ?): sto realizzando
un Cd Multimediale con la prima pagina realizzata in html, con dentro un
filmato Shockwave Flash. Come faccio a far partire automaticamente il Cd in
autoplay, mostrando la suddetta pagina in HTML? Sono arrivato a capire che
mi serve un autorun.inf (semplice file da creare anche con il blocco note)
ed un autorun.exe, ed eventualmente un file .ico per l'icona. Come faccio a
realizzare il file autorun.exe? Esistono programmi particolari? Esistono
altre vie?
Grazie mille in anticipo a chi avrà la cortesia di rispondere
Federico

Caro federico,
Guarda io non ho usato propriamente un autorun .exe bensi quel programma che
ti ho messo come allegato.
1)Dovresti creare un file *.inf  e quindi vai su notepad.exe
( blocconote )scrivi questo:
[autorun]
open=nomedel programma.exe
icon=nomeicona .ico
2)e salvare tutto come "autorun.inf "e  poi masterizzarlo sul cd insieme a
tutto quello che ci devi mettere
se perň non devi usare un programma ma solo un file Html io ho fatto cosě:
scrivi nel file inf:
[autorun]
open=start nomefilehtml.html
icon=nomeicona .ico
quello "start"  sarebbe un programma che fa partire direttamente il file
e sta nel famoso allegato, naturalmente sia il file inf che start.exe vanno
salvati sul cd.
Spero di non essermi dimenticato nulla, buona fortuna.
Newsgroup: it.comp.programmare.win32
Titolo: [BCB] Database, primary key violation!! :((((

Ho creato un gestionale molto carino, ma mi sono accorta or ora di una cosa
assai grave:
Il gestionale prevede che si possano ordinare i clienti per nome-congnome.
Perció ho reso le key primaria, e ho messo anche l'indice secondario per
potere ordinare la lista in qualsiasi momento.
Ebbene se due clienti hanno lo stesso nome-cognome... primary key
violation!!! Come si puó evitare questo problema senza creare un ulteriore
apposito campo?
Ciao
G.

 Ciao
Mi sa che sei OT,
comunque, di solito, la chiave primaria è preferibile che sia numerica (di
tipo intero) per ragioni di efficienza innanzitutto, inoltre ti permette di
evitare problemi come questo.
Federico Molara.

 ha scritto nel messaggio
news:wC4F8.72416$5k4.1...@twister2.libero.it...


 numerico come tengo aggiornato l'indice per nome?
E' proprio questo il pricipio dei DBMS: tu crei l'indice definito su cognome
oppure cognome+nome e l'aggiornamento viene fatto automaticamente dal
gestore del DB, così come l'uso dell'indice per ottimizzare le query è una
scelta dell'ottimizzatore, anche se molti DBMS hanno una sintassi "estesa"
nelle query per forzare l'uso di un certo indice.
Postresti anche non definire l'indice, chiaramente questo comporterà un
rallentamento notevole degli accessi per cognome (scansioni sequenziali), ma
la struttura delle query o lo schema del DB non dipendono dagli indici (le
prestazioni si però), che puoi togliere e aggiungere in ogni momento.
Federico.

 Il ng trovalo tu, io bazzico questo!! :-)
Ma scherzi o fai davvero?? :))
Cmq a quanto ho capito il modo é quello di creare gli indici fondendo i
campi di interesse con un codice tipo autoincrementante. Insomma non si
possono avere due primary key uguali :(
Vabbé sei stato molto chiaro. Ti ringrazio!
Ciao.


 Vabbé sei stato molto chiaro. Ti ringrazio!
Buon lavoro! :^)
Federico.
Newsgroup: it.comp.programmare.win32
Titolo: mfc

Salve,
ho un contesto di dispositivo CDC* pDC sul quale sto disegnando e vorrei
cambiare il colore di sfondo.
Ho provato pDC->SetBkColor(COLORREF color), ma questo non funziona.
Avete idea di come si puň fare?
Grazie,
Simone.

 Avete idea di come si può fare?
hai provato a fare
pDC->SetBkMode(OPAQUE);
pDC->SetBkColor(color);
?
--
Pela

 ha scritto nel messaggio
news:k6WMb.107529$_P.39...@news4.tin.it...

La modalità OPAQUE è impostata di default. Io non ho esplicitamente chiamato
la funzione
    pDC->SetBkMode(OPAQUE);
ma è automaticamente impostata. Comunque chiamando tale metodo ancora non
funziona.

Ciao, Sim!
Il giorno 13/01/2004 alle ore 22:04 hai scritto:
 S> La modalità OPAQUE è impostata di default. Io non ho esplicitamente
 S> chiamato la funzione
 S>     pDC->SetBkMode(OPAQUE);
 S> ma è automaticamente impostata. Comunque chiamando tale metodo ancora
 S> non funziona.
Guarda che dopo aver settato il colore di background poi devi usare una
funzione di disegno che *usi* il background. Se non fai niente dopo e' ovvio
che non vedi niente.
Bye

E se faccio così.. pensate sia corretto?
Nella mia OnDraw()
{
CRect rectWindow;
CBrush brushFill(RGB(0,0,0));  // for black brush
GetClientRect(rectWindow);
pDC->FillRect(rectWindow,&brushFill);
}
Grazie.
"1Sconosciuto" <o...@unknown.invalid> ha scritto nel messaggio
news:KO6Nb.249919$vO5.10...@twister1.libero.it...


Newsgroup: it.comp.programmare.win32
Titolo: Come settare il focus di un altra applicazione....

Ciao, utilizzo VC++ 6.0.
Ho creato un applicativo SDI per provare a settare il focus su una finestra
di un altro applicativo.
La finestra su cui vorrei settare il focus e' il Notepad di windows.
Ho gestito il messaggio ON_WM_LBUTTONDOWN() nel seguente modo:
////////////////////////////////////////////////////////////////////////////
/
// CProva_View message handlers
void CProva_View::OnLButtonDown(UINT nFlags, CPoint point)
{
 HWND hWnd = ::FindWindow( NULL, "Untitled - Notepad" );
 if( hWnd )
  ::SendMessage( hWnd, WM_SETFOCUS, 0, 0 );
 CView::OnLButtonDown(nFlags, point);
}
Tramite lo Spy vedo che su notepad arriva un messaggio WM_SETFOCUS, ma la
caption di
NotePad non ottiene il focus e quindi nemmeno gli input da tastiera.
E' corretto settare in questo modo il focus??
Chi mi puo' aiutare??? Ciao e grazie.

   ::SendMessage( hWnd, WM_SETFOCUS, 0, 0 );
Per impostare il focus si deve usare l'API apposita: SetFocus(). Essa, oltre a
spedire WM_SETFOCUS, fa diverse altre cose necessarie...
--
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/
Newsgroup: it.comp.programmare.win32
Titolo: C++B: Ereditare un costruttore

Sto creando una classe che eredita la classe del componente visuale
TNMGeneralServer del C++Builder.
class TServer : public TNMGeneralServer
{
[...]
public:
__fastcall TServer();
é la dichiarazione del costruttore, ma quando vado ad implementarlo mi da
questo errore:
[C++ Error] TServer.cpp(11): E2251 Cannot find default constructor to
initialize base class 'TNMGeneralServer'
Il costruttore del TNMGeneralServer definito in PowerSock.hpp é questo:
 __fastcall virtual TNMGeneralServer(Classes::TComponent* AOwner);
Non so dove trovare l'implementazione...
Cosa devo fare?
Grazie

 Cosa devo fare?
Innanzitutto mi suona molto strano che un COSTRUTTORE sia VIRTUAL.
(Dev C++ 4 infatti non mi compila nessuna classe con un costruttore virtual,
e tantomeno,come ovvio, se ne possono ereditare le classi).
Sei sicuro che sia quella la dichiarazione corretta?
Joshi

 ha scritto nel messaggio
news:XZP99.95517$n04.2...@twister2.libero.it...

No, infatti ho risolto con:
__fastcall TDateServ::TDateServ(TComponent* Owner)         :
TNMGeneralServer(Owner) { }
CMQ grazie :)
Piuttosto, ora funziona tutto bene, ma ho provato a creare una classe (non
componente) che erediti TNMGeneralServer funziona ma non mi parte il
server... e qui sono un altro paio di maniche.
Ciao,
    Gabry

     Gabry
Consiglio: i migliori server sono quelli che uno si fa da solo con le
vecchie funzioni a basso livello.
[ socket(), connect(), recv(), select() ecc. ecc. ]
Normalmente il borland ha nella documentazione dell'SDK diversi capitoli con
le funzioni per le socket.
Ricordati di startuppare la libreria con WSAStartup() :)
Joshi

 Joshi

 ha scritto nel messaggio
news:c7729079.02082...@posting.google.com...

Che non si sa' perche', se fai un WSACleanup e poi lo ristartuppi (wow! che
termine! ;)
ti segnala che e' gia' startuppato!
(Unico modo per salvarsi -> riavviare il programma! )
Joshi
P.S:  spero non faccia a tutti come fa' a me, chissa' perche' poi, sara' che
io odio talmente il mio OS che mi fa i dispetti (come per lo stub RPC e le
finestre di explorer. bho)

 finestre di explorer. bho)
E tu pensi che Bill sul suo computer personale abbia installato Windows?
Seeee........entra in ufficio, chiude le tende, accende il computer e
appoggia il pinguino sul monitor :-)
Kiuhnm

 ha scritto nel messaggio
news:QKRa9.28291$pX1.8...@news2.tin.it...

In una intervista di qualche tempo fa, fatta da una ragazzina di un tg per
ragazzi, aveva ammesso, senza troppe remore, che il suo PC si piantava, e
pure spesso.
Per chi volesse leggersi l'intervista faccia una ricerca su
www.punto-informatico.it
Comunque secondo me BG è nostalgico, appoggia una mela... :)
Martino.

Newsgroup: it.comp.programmare.win32
Titolo: Links interessanti

ProDev.org pian piano si sta allargando come links.
Sono stati aggiunti links nel settore AI, C++, OpenGL, Windows.
se volete dare una mano siete ben accetti.


Newsgroup: it.comp.programmare.win32
Titolo: Non ho ben capito come si utilizza la funzione membro CString::GetBuffer

Ciao utilizzo VC++6.0 com MFC
Non ho ben capito come si utilizza la funzione membro CString::GetBuffer
Io ho fatto cosi':
CString szHead = "Questa e' una stringa di prova";
LPTSTR lpHead;
// puntatore alla CString
lpHead = szHead.GetBuffer( szHead.GetLength() );
E' corretto fare cosi'???
Che cosa vuole di preciso GetBuffer come valore intero???
Ciao e grazie.

 lpHead = szHead.GetBuffer( szHead.GetLength() );
Yes... mi sembra corretto.
GetBuffer restituisce un puntatore al buffer di caratteri "interno" della
CString... il parametro della funzione è la grandezza minima del buffer di
caratteri (escluso il NULL terminator).
Mau : )




 lpHead = szHead.GetBuffer( szHead.GetLength() );
Yes... mi sembra corretto.


Il valore intero è la lunghezza minima garantita del buffer, se tu chiedi un
buffer di 256 è come se malloc-asse un buffer da 256 caratteri e vi copiasse
dentro il contenuto della stringa.
Nota però che quello che ricevi non è una copia, ma la stringa stessa!
E' importante quindi che dopo aver fatto GetBuffer, utilizzi anche
ReleaseBuffer, prima di utilizzare nuovamente l'oggetto CString. In questo
modo l'oggetto reimposta alcuni flag interni basandosi sulla nuova stringa
(ad es. la lunghezza...).
Ciao!
--
Kojak
http://space.tin.it/io/viscorci
vrke...@hotmail.com
"I close my eyes
and I see
you
standing there
I cry
tears
of sorrow
I die."

 Che cosa vuole di preciso GetBuffer come valore intero???
Vuole la dimensione minima del buffer che ti viene restituito. Dato che
in esso ci puoi anche scrivere dentro (per modificare il contenuto della
stringa), se hai intenzione di copiarci stringhe piu` lunghe di quella
attualmente memorizzata devi "dire" a CString di allocarti piu` memoria.
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

Newsgroup: it.comp.programmare.win32
Titolo: Struttura di un file eseguibile win32 [RESOURCES]

Ho necessità di sapere di più sulla struttura di un file eseguibile.. E più
precisamente dove vengono inseriti i resource files in fase di
compilazione... Cercando sulla MSDN non ho trovato granchè (anche perchè non
so esattamente che parole usare), qualcuno di voi ha qualche indirizzo utile
?
Grazie, -Tharkas
PS: se non sono stato abbastanza chiaro, diciamo che serve (come esercizio)
per fare qualcosa di simile al ResHack.. Grazie :)

 so esattamente che parole usare), qualcuno di voi ha qualche indirizzo utile
Indirizzi, così su due piedi non ne ho, ma mi pare che il
formato dei file .EXE di Windows sia il PE (Portable Executable),
il LE (Linear Executable) o il NE (New Executable?)... dell'ultimo
non son tanto sicuro :-)
Boh, fai una ricerca con questi tre termini e vedi cosa trovi...
non dovrebbe essere difficile arrivare alla documentazione.

per fare qualcosa di simile al ResHack.. Grazie :)
http://www.wotsit.org/
 e cerca EXE
Paolo

Grazie, siete stati entrambi molto puntuali e ho risolto il mio problema =)
-Tharkas
Newsgroup: it.comp.programmare.win32
Titolo: socket in multithread (lato server)

Ho implementato in VC++.NET un servizio per Windows NT che deve fungere da
server.
Come faccio a utilizzare i socket in multithread?

Come faccio a utilizzare i socket in multithread?
l'ideale sarebbe tenere nel thread principale il socket che sta in
ascolto... quando giunge una nuova connessione il thread principale
istanzia un nuovo thread che si preoccuperà di gestire la
comunicazione stessa, e allo stesso tempo si preoccuperà di gestire la
sua vita ... ovviamente notificando al thread principale quando esso
morirà ...
Antonio

 morirà ...
Bene. Più o meno è avevo la stessa cosa in mente. Però è la prima volta che
mi trovo a lavorare in multitread e  non so da dove inziare.
Chi può spiegarmi qualcosa a riguardo relativa all'implementazione?
PS Grazie per avere risposto.

Newsgroup: it.comp.programmare.win32
Titolo: Invalidate Dlg.

Sto sviluppando un SW per la vidoe registrazione digitale.
La scheda grafica di Acq. mi permette di gestire un form con l'immagine .
Il repaint pero' viene affettuato solo quando la finestra e' selezionata
"Focus"
Come posso continuare a disegnare le immagini anche senza focus.
Uso Borland CBuilder, ma le API possono andar bene.
Grazie
AndreaC.

Come posso continuare a disegnare le immagini anche senza focus.
Utilizza i timer di Windows per invalidare la form ogni certo intervallo di
tempo. Ricorda che se ti servono frequenze superiori ai 18Hz devi usare i
Multimedia Timers.
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

Newsgroup: it.comp.programmare.win32
Titolo: drive development kit

qualcuno sà dove trovarlo senza pagare

 qualcuno sà dove trovarlo senza pagare
a parte che drive != driver, il multipost fa solo
scappare la voglia di rispondere.
-- 
ciao, hal.ddk

Newsgroup: it.comp.programmare.win32
Titolo: [Builder C++] Array di oggetti visuali

Salve, ho cercato sul mio manualetto (mi sa che a breve dovro'
comprarne uno serio...) e su internet ma non sono riuscito a scovare
come fare a creare un array di oggetti visuali (intendo un array di
TextArea ad esempio a cui accederci con un semplice txtProv[elemento]
)
Potreste indicarmi voi come crearne uno? Tra le opzioni del Builder
C++ non ho trovato nulla e neanche la guida in linea non mi e' stata
d'aiuto.
Grazie,
Maurizio

 )
A design-time non č possibile, ma puoi allocarti (staticamente o
dinamicamente) un array di puntatori all'oggetto e creare gli oggetti a
run-time.
Create a control at runtime: 
http://www.bcbdev.com/faqs/faq2.htm
.
Ciao,
Paolo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Create a control at runtime: 
http://www.bcbdev.com/faqs/faq2.htm
.
Grazie mille sia per la risposta sia per il link, c'e' un sacco di
roba interessante!
Ciao,
Maurizio
Newsgroup: it.comp.programmare.win32
Titolo: gioco

come fare per farne uno?

> come fare per farne uno?
it.comp.giochi.sviluppo, ma sembra che hai bisogno prima di saper programmare x win32.
sei capace di scrivere un'applicazione funzionante per win? se si vai direttamente su icgs, altrimenti resta qui e impara ;)
ciao
xaero

Newsgroup: it.comp.programmare.win32
Titolo: ce un modo in BCB per cambiare il colore di uno speedButton dopo che e stato premuto?

Io sono riuscito solo a cambiare il colore del trsto contenuto..
ma mi serve di poterlo evidenziare....

...


 wrote in message
37ef5b3...@news.caspur.it...


A te decidere da che parte stare -)
Cioe vuoi dire che devo creare una classe TMyButton e creare un metodo
che modifichi la proprieta paint? Se e cosi xche non lo posso fare a
Runtime?


 >è stato premuto...



No, purtroppo devo poter fare delle selezioni multiple ed ad ogni
selezione devo poter cambiare il colore.
Ossia se l'utente vuole fare 20 selezioni io devo avere pronte 20
bmp?!?!
E fico, ma poco pratico nel mio caso..

 wrote in message
37f1bc90...@news.caspur.it...


non c'č un modo piů semplice ?


    R.Left-=2; R.Top-=2; R.Right+=2; R.Bottom+=2; //lo incicciotta
Ma non esiste in BCB un metodo Inflate di TRect?
Bye.
Newsgroup: it.comp.programmare.win32
Titolo: metodi per oggettin COM

Salve, grazie anche agli aiuti di questo news sono riuscito a crearmi il mio
bell'oggetino
COM, ma ora ho un  terribilile problema
io necessito di una funzione del tipo:
Disegna(HDC *Superfice)
{
    //Disegno la superfice
}
il problema č che questo tipo di parametro esula dallo standart COM o almeno
VC e VB dicono
cosě!!
io necessito di una funzione che data una superfice la disegni!!!
ho provato a usare VARIANT come tipo ma mi dice che non puň convertire
VARIANT in HDC
Please help me!!

     file://Disegno la superfice


{


 VARIANT in HDC
Un HDC ha senso solo all'interno di un dato processo, quindi questo
schema non ti permettera` mai di usare componenti out-of-process.
Se questo per te non e` un problema, usa semplicemente un cast a LONG
e da LONG nelle due direzioni.
COM permette di passare qualsiasi cosa (compatibilmente col fatto
che le handle, gli indirizzi, ecc, non hanno generalmente senso se
non entro un dato processo) ma Visual Basic non e` in grado di
gestire molte delle strutture che COM puo` gestire benissimo.
Se usi COM per COMunicare fra pacchetti scritti in linguaggi piu`
potenti, ricordati semplicemente di non definire le interfacce in
gioco come "dual" o "oleautomation", e di generarne e registrarne
esplicitamente il proxy/stub (non puoi contare sul marshaling
da typelibrary; le TLB hanno piu` o meno limiti simili a quelli
del VB, e non intrinseci al COM stesso) se ti serve appunto il
marshaling (out-of-process o remoting).
Alex


Dovresti poter convertire un HDC in un intero a 32 bit (long per VB) o in 
un variant VT_UI4. Il tutto funziona solo se il tuo oggetto COM č in-
process, altrimenti credo sia necessario farsi passare un HWND e passare 
per le API (GetDC o GetWindowDC e simili).
P.S. se sviluppi un controllo ActiveX potrai gestire il redraw della sua 
client area senza passare per questo tipo di "scorciatoie".
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

Grazie per le risposte
ma pultroppo non riesco a capire del tutto
io inserisco la mia DLL in VB con "riferimenti.."
come faccio a convertirla in long? (e come faccio poi in VC a usarla come
*HDC?)
passta che imposto il tipo di parametro su long e poi lo uso come se fosse
un puntatore?
x Luc: con allocare la memoria cosa intendi (come faccio ad allocare la
memoria per un HDC in un BSTR)? cos'è BSTR ?
Newsgroup: it.comp.programmare.win32
Titolo: Installer & MFC

Sto  cercando dei siti dove posso trovare degli esempi in MFC su come
realizzare un Installer.
Grazie.

E che ci azzecca MCF con un programma che fa installazioni????
Luc.



Tu che dici ?
Non sarà per caso che utilizzo il Visual C++ programmando con le MFC anzichè
in Win32 ?
Forse era troppo complicato ?
Luke

Newsgroup: it.comp.programmare.win32
Titolo: password IE5 e OE5

Uso Libero per la navigazione e la retecivica della mia citta' per la
sola email. Purtroppo ogni volta devo scegliere la connessione  e
comporre la relativa password perche' non viene salvata come lo
username.
Ho provato a seguire  la guida in linea ma non c'e' niente da fare:
quando richiamo le connessioni di accesso remoto si vede che il
salvataggio della password, con la casellina scura,  non e'  proprio
possibile.
E' inevitabile per chi usa due provider oppure c'e' una soluzione?
grazie 1000 a chi risponde
-- 
R&G

 wrote in message
87gcpq$15k$2...@racine.racine.ravenna.it...

Io uso una dozzina di diversi provider (tutti quelli gratis, piu` altri)
e Accesso Remoto mi tiene traccia di tutti gli username e password.
Ma non e` che abbia fatto nulla di speciale per ottenerlo, quindi
non so come aiutarti.  Un punto che forse ha importanza: io le
connessioni me le faccio a mano quando voglio, da Computer/
Accesso remoto; tutti i vari programmi applicativi come IE e OE
li ho settati per NON connettersi automaticamente.
Alex

 possibile.
Avevo lo stesso problema sotto win95, e mi sembra di averlo risolto
installando, nelle proprieta' di rete, il client per reti microsoft, pero
non ne sono del tutto sicuro perche' e' passato un po' di tempo.
Hai provato ad eseguire il programma di installazione di libero che si trova
sui vari cd ? Forse quello ti configura il tutto per salvare la password
(questi programmi servono affinche' l'utente faccia
meno fatica possibile nella connessione)
Popski

 E' inevitabile per chi usa due provider oppure c'e' una soluzione?
Ho installato IE.1 da Microsoft Update ma, nella scelta della
connessione per entrare in rete dovevo continuare a digitare la password
relativa ogni volta.  Poi ho reinstallato TUTTO Win98 2°ediz. e adesso
quando scelgo la connessione non devo piu' mettere la password, gia' in
default criptata.
Non so se il  rimedio sia stato la banale reinstallazione di Win98
oppure l'aggiornamento con IE5.1, il quale, purtroppo non mi ha
eliminato quel fastidiosissimo "...FORNITO DA INFOSTRADA LIBERO".
ciao e grazie ancora a chi ha risposto.
R&G
Newsgroup: it.comp.programmare.win32
Titolo: [API] - ricavare una bitmap di una window

Ciao, volevo sapere quale procedimento devo seguire per ricavare la bitmap
di una finestra che non e' visibile in quanto non e' in primo piano...
e' possibile?
con GetDC e via dicendo viene presa la fetta di schermo sovrastante la mia
finestra, ma io voglio proprio la mia finestra...
avete qualche idea??
grazie mille, davvero, buon lavoro, ciao, Davide.
/ - / - / - | - \ - \ - \
Davide Piras
pir...@engineer.com
\ - \ - \ - | - / - / - /

 ha scritto nel messaggio
news:61zx4.12439$i%1.14...@news.infostrada.it...


Newsgroup: it.comp.programmare.win32
Titolo: Tutorial MFC

Salve, esiste un sito dove poter trovare tutorial per le MFC o manuali PDF o
altro? L'ideale sarebbe in ita, ma se in eglish, no problem, pure in
francese potrebbero andare...
grazie in anticipo
HellHound - uccidi CERBERO

francese potrebbero andare...
In italiano non lo so, per quanto riguarda la programmazione mi sono
dimenticato della sua esistenza, pero' puoi partire, come sempre, dal
mitico google:
http://www.google.com/search?q=mfc+tutorial+source+code&sourceid=opera&num=0&ie=utf-8&oe=utf-8
Se sei agli inizi, pero', un buon libro non fa male.
-- 
ciao, hal
Newsgroup: it.comp.programmare.win32
Titolo: RecordsetPtr.Open (ADO e VC++)

Salve ragazzi,
ho un problemino con ADO.
Quando la select va a buon fine (anche se ritorna 0 righe) il RecordSet
viene riempito perfattamente.
Mentre quando faccio una select errata (select * from tabella_inesistente,
oppure un comando insesistente dell'ANSI SQL e oppure un campo insesistente
di tabella esistente), ottengo, mio malgrado, un Runtime Error (abnormal
program termination) all'Open del RecordSet, cosi' non avendo modo di
controllare l'HRESULT ritornato non posso gestire le eccezzioni.
Sbaglio per caso a passare i parametri?
<CODE ON>
--------------------------------------------------------------------
_RecordsetPtr i_rec;
_ConnectionPtr i_conn;
CString is_strconn = "Provider=OraOLEDB.Oracle.1;Password=tiger;Persist
Security Info=True;User ID=scott;Data Source=orcl;";
i_conn.CreateInstance(__uuidof(Connection));
i_conn->Open((_bstr_t)is_strconn,(_bstr_t)"",(_bstr_t)"",adOpenUnspecified);
i_rec.CreateInstance(__uuidof(Recordset));
i_rec->putref_ActiveConnection( i_conn );
_variant_t vtConnect = i_rec->GetActiveConnection();
switch(vtConnect.vt)
{
case VT_BSTR:
AfxMessageBox("SDMDataBase::Open()\nConnessione fallita!");
return FALSE;
break;
case VT_DISPATCH:
//AfxMessageBox("SDMDataBase::Open()\nConnessione OK.");
break;
default:
AfxMessageBox("SDMDataBase::Open()\nErrore non specificato.");
break;
--------------------------------------------------------------------
<CODE OFF>




<CODE ON>
--------------------------------------------------------------------
_RecordsetPtr i_rec;
_ConnectionPtr i_conn;


i_rec->CursorLocation = adUseClient;
if(FAILED(i_rec->Open((_bstr_t)pcszSource,&vtConnect, adOpenForwardOnly,
adLockReadOnly, adCmdUnknown)))
{
AfxMessageBox("Open Recrdset Failed!");
return FALSE;
}
AfxMessageBox("Open Recordset OK!");
--------------------------------------------------------------------
<CODE OFF>


Manca nella gestione degli errori l'intercettazione delle eccezioni tramite
try
{
  .... codice ADO
}
 catch (_com_error &e)
   {
   printf("Error:\n");
   printf("Code = %08lx\n", e.Error());
   printf("Code meaning = %s\n", (char*) e.ErrorMessage());
   printf("Source = %s\n", (char*) e.Source());
   printf("Description = %s\n", (char*) e.Description());
   }
Guarda sull'MSDN per maggiorni dettagli.
Antonio.

 Guarda sull'MSDN per maggiorni dettagli.
grazie infinite ho risolto il problema!
grazie ancora
Newsgroup: it.comp.programmare.win32
Titolo: Somma di due DWORD o LPDWORD

ho una variabile che vale 0x1000 e la devo incrementare di 0x200 ogni volta
, ma la somma come interi non funziona,.
Grazie

 , ma la somma come interi non funziona,.
Fammi vedere come fai.

 ha scritto nel messaggio
news:381m83F...@individual.net...

LPDWORD Volume;
Volume lo ricavo con la chiamata:
waveOutGetVolume(            //prendo il volume corrente
                         0,
                         Volume      //e lo metto in Volume
                        );
Volume+=0x0000500;
Praticamente prendo il volume wave corrente e lo voglio alzare di un tot
fino a =0xFFFF , questo ora lo riesco a fare ma se metto l'istrizione
if (Volume == 0xFFFF) mi da errore
Grazie

 LPDWORD Volume;
 > Volume+=0x0000500;
LPDWORD è un puntatore !!!
Alloca una DWORD e passa l'indirizzo alla funzione.

 Volume+=0x0000500;
LPDWORD č un puntatore a DWORD.
Ammesso che tu l'abbia allocato correttamente (dubito) dovresti fare:
*Volume+=0x0000500;
Ma meglio se dichiari DWORD la variabile e passi alla funzione &Volume.

Newsgroup: it.comp.programmare.win32
Titolo: Creazione CPen che fa i puntini

 So che la domanda può essere banale, ma vorrei costruire una CPen che mi
faccia tanti puntini. Sono 2 ore che smadonno e non riesco ancora a crearla!
Qualcuno può aiutarmi?
thanks
crbit
PS. Scontato dire che uso VC++ con MFC :))

 ha scritto nel messaggio
news:qoOJ8.620$QT3....@twister2.libero.it...

CPen p( PS_DOT, 1, RGB(0,0,0) );  // penna nera spessa un pixel
Federico.

> CPen p( PS_DOT, 1, RGB(0,0,0) );  // penna nera spessa un pixel
No ... purtroppo PS_DOT mi fa delle barrette mi fa una linea tratteggiata
tipo questa   - - - -
:(((((((((((((((((((((
byez
crbit


Allora guardati CPen::CreatePen( PS_USERSTYLE, ... );
Federico.


E' quello che sto provando a fare. Comunque mi sono fatto una funzione che
fa un po' di conti e disegna i puntini .... non sarà molto performante ma
per ora ... mi accontento
byez
crbit