mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.delphi
Titolo: Menù generati dinamicamente

Ciao a tutti.
Avrei bisogno di una dritta per un programmino in delphi che sto'
sviluppando... (mi sono arenato!)
Ad un certo punto il mio programma "legge" una lista di menů che devono
essere creati nella form corrente; in questa lista ogni menů č
caratterizzato da un codice e da una descrizione e quindi per ogni
elemento richiamo la seguente routine che si occupa di aggiungere il menů
in questione all'oggetto MMain (di tipo TMainMenu) settando la descrizione
(passata con Descr) e memorizzando il codice del menů nell'attributo tag
del menů stesso (passato con IdMenu):
procedure TFMain.CreaMenu(Sender: TObject; Descr: string; IdMenu: integer);
var NuovoMenu:TMenuItem;
begin
  NuovoMenu:=TMenuItem.Create(Self);
  NuovoMenu.Caption:=Descr;
  NuovoMenu.Tag:=IdMenu;
  NuovoMenu.OnClick:=ClickMenu;
  MMain.Items.Add(NuovoMenu);
end;
Fin qui tutto funziona, il problema arriva adesso! Infatti ad ogni menů
che viene creato gli dico che "onclick deve eseguire la routine ClickMenu"
che č riportata qui sotto:
procedure TFMain.ClickMenu(Sender: TObject);
begin
  ShowMessage('Click su menů: come faccio a conoscere il codice del
menů?');
end;
Ma come posso sapere in questa routine quale č il codice del menů che
l'utente ha cliccato? (codice che mi sono salvato nella propritŕ tag del
menů)
Spero di essere stato abbastanza chiaro e che mi possiate aiutare...
Ciao e grazie di qualsiasi aiuto mi possiate dare.
Andrea
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

andreamarchetto ha scritto:







Mi rispondo da solo, la soluzione sta' nel modificare la routine ClickMenu
in questo modo (dimenticavo le conversioni esplicite!!!):
procedure TFMain.ClickMenu(Sender: TObject);
var ElemMenu:TMenuItem;
begin
  ElemMenu:=TMenuItem(Sender) ;
  ShowMessage('Click sul menů '+inttostr(ElemMenu.Tag));
end;
Soluzione trovata all'indirizzo
http://delphi.about.com/od/kbcurt/a/dynamicmenuitem.htm


ciao
a me serve creare un sottomenu sempre in maniera dinamica, a seconda
delle voci presenti in un file esterno il sottomeno menu avra un numero
tot di voci..
Hai qualke idea di come fare?

 ha scritto nel messaggio
news:1148132699.2...@38g2000cwa.googlegroups.com...

Se si tratta di un unico sottomenu' con tot Item puoi usare un TStringList
che puo' essere salvato e aperto da file: LoadfromFile, SavetoFile.
Per memorizzare le voci dei vari menu' e sottomenu', che costituiscono una
struttura ad albero, userei l'albero TTreeView, anche questo leggibile e
salvabile su file con gli stessi metodi.
Ciao Giorgio

Ciao giorgio comunque per menu io intendo il classico menu (e relativi
sottomenu) che ci sono nelle cartelle window quello sopra alla barra
degli strumenti e che si crea con il componente standard MainMenu
Newsgroup: it.comp.lang.delphi
Titolo: Edit nel DBGrid

Se consento un edit su una riga di un DBGrid, vorrei che l'utente non 
potesse cliccare su un'altra riga, pena la perdita degli aggiornamenti, o un 
messaggio di warning che lo inviti a consolidare o abbandonare. Ma come 
faccio ad accorgermi della cosa (e cioč che, magari inavvertitamente, si č 
spostato su un'altra riga ) ?



Metti la tua logica in un datamodule e non sul DBGrid.
Lavora con i campi persistenti e con gli eventi di un TClientDataSet....
Ricorda che alla fine una riga di un DBGrid č un record su di una tabella.
Ciao

 Ciao 

 voglio solo capire ..
Il DBGrid va benissimo, usalo pure.
Quello che devi fare è focalizzare l'attenzione al TClientDataSet che è
collegato al TDataSource che è collegato al DBGrid (ammesso che usi il
TClientDataSet).
Dovrei riguardare il mio codice, ma tra il TClientDataSet ed il TDataSource
sicuramente uno dei due dispone dell'evento che fa al caso tuo.
Vale a dire l'evento che indica che stai saltando su un altro record,
magari puoi testare li' se ci sono modifiche pendenti ed avvisare l'utente.
Oppure, come era il mio caso (sempre che mi ricordi bene), con il DataSet
in AutoEdit mi bastava chiedere conferma dei dati da salvare nell'evento...
non mi ricordo quale adesso...
Quando rientro a casa ti ci posso guardare se ancora non hai risolto....
Il DBGrid è un bel componente ma non cercare di usarlo per inserirci della
logica di questo tipo, questo almeno è il mio consiglio e la mia
esperienza...
Ciao

Ho provato ad usare l'evento On StateChange del TDataSource, il quale scatta 
ogni qualvolta si passi da dsBrowse ad altro stato. Pensavo che in questo 
modo, se durante l'aggiornamento di una riga nel DBGrid si cambiasse riga, 
lo Stato cambierebbe a dsBrowse e in questo caso una routine con un cancel 
consentirebbe di non consolidare implicitamente le eventuali modifiche 
iniziate. Provando ho però scoperto che se l'aggiornamento di qualche campo 
è già iniziato, avviene prima un Post implicito e la routine inserita nello 
StateChange è tardiva, per cui ho dovuto implementare un'altra routine in un 
evento BeforePost. Che peraltro non si attiva se, pur essendo in edit, si 
cambia riga senza aver ancora effettuato alcun cambiamento...
Insomma, mi pare di capire che non ci sia una soluzione semplice, unica e 
attivabile sempre da un solo punto.
Però aspetto suggerimenti..
"M.Alfredo" <nos...@nospam.nospam> ha scritto nel messaggio 
news:tmf9vv28ly30.ybmbv3pa3lg1$.dlg@40tude.net...



Ciao, 
e' possibile usare l'evento OnBeforeScroll del ClientDataSet, che dovrebbe
essere chiamato prima di effettuare una First, Last, Next, ecc. ,
controllando in questa sede lo stato del DB (dsEdit, dsInsert, ecc) e
operando di conseguenza.
Ciao.
Cristiano
--- posted by geoForum on 
http://www.delphiedintorni.it
Newsgroup: it.comp.lang.delphi
Titolo: [OT?] Licenza Delphi

C'è un mio amico che vorrebbe cedere / vendere la sua licenza di
Delphi 7.0... sapete se posso acquistarla o le licenze di Delphi non
possono essere cedute?
Grazie

Un mio amico vorrebbe vendere / cedere la sua licenza di Delphi 7.0.
Io sarei interessato all'acquisto ma volevo sapere se la cosa era
"legale": le licenze di Delphi possono essere cedute o vendute ad
altre persone?
Grazie.



altre persone?
Si.
-- 
Morde. 
Ci stiamo preparando per il seminario su Octane 
che si terra' il 3 Feb a Milano! info su
http://it.groups.yahoo.com/group/icld/

Newsgroup: it.comp.lang.delphi
Titolo: array dinamico passato per referenza

Prototipo:
Function Prova(var par1: array of string): integer;
Scopo:
La funzione Prova() riceve, per referenza, un array dinamico vuoto che verrà
riempito con dati di tipo stringa;
Problema:
Non è assolutamente possibile ridimensionare l'array all'interno della
funzione Prova()
la seguente istruzione
Setlength(par1,10)
genera, in fase di compilazione il seguente errore:
Incompatible types: array and dynamic array
Vogliate cortesemente pregiarmi di un vs riscontro in merito a una eventuale
soluzione del problema.
Cordialità
Toni

 ha scritto nel messaggio
news:0Foc9.133427$lu5.3...@twister1.libero.it...



Con Delphi 6 ho un errore diverso, ma se la riscrivo come
indicato sotto me la compila (A parte il warning per il
risultato non assegnato). Che poi faccia quello che vuoi
tu, beh è da provare.
Function Prova(var par1): integer;
  Var
  Par2:array of string absolute par1;
Begin
  Setlength(par2,10);
End;
--
Il Cammelliere
Newsgroup: it.comp.lang.delphi
Titolo: matrice per linea temporale

Salve a tutto il prestigioso NG,
illustri, Vi porgo il problema:
Voglio costruire in delphi 7 un form con rappresentata la
linea temporale divisa per giorni di tutto l'anno (tipo project)
Dato un progetto di nome X, immettono delle date di partenza e di fine 
lavori, volevo essere in grado di costruirmi questo semplice gantt da 
codice, senza ausilio di componenti.
Secondo voi, è possibile costruire una matrice che rappresenti in X i giorni 
dell'anno (quindi 365) e in Y almeno 50 strati dove allocare i vari progetti 
?
Non è cosa da poco ma se mi date una dritta su come si costruisce 
graficamente una matrice, mi aiutate molto.
Grazie infinite
-- 
http://blogs.dotnethell.it/simisa/
 

 graficamente una matrice, mi aiutate molto.
Magari prova a vedere se puoi "piegare" un *TChart* a realizzare in 
qualche modo i grafici che ti interessano; in caso contrario, crea un 
nuovo controllo personalizzato e ridefinisci il metodo /Paint/ per 
inserire al suo interno le istruzioni necessarie per visualizzare, a 
seconda dell'intervallo scelto (se vuoi consentirlo), la 
rappresentazione dell'attività svolta in quel periodo, prelevando i dati 
dalla lista di cui sopra.
Io ho realizzato una cosa simile, in passato, per mostrare l'attività di 
funzionamento di un macchinario; so che ho definito tutto in modo 
estremamente "teorico", ma per iniziare spero che basti... :-)
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

?
Sě, č possibile.  Personalmente ti consiglio di costruire un
componente grafico.  Non č complesso in Delphi.  Dovrebbe avere un
property editor adeguato, per poter testare il disegno della serie di
dati durante la costruzione dell'applicazione.

 eventualmente ) 

 componente grafico.  Non è complesso in Delphi.  Dovrebbe avere un


bella matrice grafica "personalizzabile" ?
Io non ti ho consigliato di generare a run-time la matrice, ma di
costruire un componente grafico.

Newsgroup: it.comp.lang.delphi
Titolo: Componenti

Ciao a tutti.
 
Vorrei sapere se qualcuno conosce qualche tool che, dato un progetto 
(sorgente ovviamente) ritorni una lista di tutti i componenti usati 
dallo stesso.
 
ps. mi serve per ricompilare un vecchio progetto in delphi 6 su di un 
altro pc e vorrei evitare di riportarmi indietro tutti i componenti che 
ho sull'hd
 
Grazie,
David


ciao.
Io in passato per visualizzare le dipendenze ho usato questo:
 
http://www.easy-ip.net/delphi-unit-dependency-scanner.html
 
E' piuttosto semplice spero possa esserti di aiuto. 
 
ciao
Giacomo
Newsgroup: it.comp.lang.delphi
Titolo: D2006 e Scrool bar

Ciao a tutti,
ho un applicazione in TD2006 composta da una sola form (MDI) + diversi
frame.
l'applicazione e' disegnata per una risoluzione molto alta, per cui vorrei
fare in modo che se la risoluzione video fosse bassa (ad ese. 1024x768)
fossero visualizzate le scrool bar.
Qualche suggerimento?
Grazie a tutti 
Loris
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio 
news:g8tml5$4ha$1...@news.newsland.it...

Ciao il test va messo nell'OnCreate del MainForm.
if (Screen.Width = 1024) AND (Screen.Height = 768) then
  >quello che vuoi !!
Ciao, Luca

   >quello che vuoi !!
Il problema e' che attivando se attivo 
  HorzScrollBar.Visible := True;
  VertScrollBar.Visible := true;
non vengono ugualmente visualizzate.


 fossero visualizzate le scrool bar.
Se la proprietà "AutoScroll" è impostata a True, le barre di scorrimento 
dovrebbero apparire automaticamente (quando una finestra all'interno 
esce dall'area client visibile sullo schermo).
Verifica anche che la proprietà "BorderStyle" non escluda questa 
possibilità.
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

Newsgroup: it.comp.lang.delphi
Titolo: tutti i componenti

ho bisogno di creare un popupmenu che mi consenta taglia, copia, incolla su
tutti i componenti.Riesco solamente a scrivere il listato per un solo
componente (memo1.cuttoclipboard). Come faccio a scriverlo per tutti?

 componente (memo1.cuttoclipboard). Come faccio a scriverlo per tutti?
Se ho capito bene, vorresti avere un menu di popup disponibile per 
qualsiasi controllo?
Forse con un qualche tipo particolare di "hook" è possibile ottenere una 
simile funzionalità.
Hai già provato ad effettuare una ricerca con Google, magari anche per 
un linguaggio che non sia necessariamente Delphi (tanto per avere 
indicazioni di massima da adattare e utilizzare poi nel nostro ambiente 
preferito?) ;-)
Ciao,
   Marco.
-- 
MARCO «Alka» BREVEGLIERI
   (
http://www.marco.breveglieri.name
)
Leggi le FAQ di ICLD: 
http://icld.altervista.org

 ha scritto nel messaggio
news:42ab39e2$0$17099$5fc...@news.tiscali.it...

Newsgroup: it.comp.lang.delphi
Titolo: D7 Personal?

Qualcuno sa se ci sara una versione personal di delphi 7 scaricabile
gratuitamente come la 6?
Ciao
-- 
.     _  _______  ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_
  /| // /__  __/  Kirys <Remove DELTHIS from the address to reply>
 / |/ \   / /     Kirys Tech 2000: 
http://www.kt2k.com
/__|\__\ /_/ 2000 ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_

già che ci siamo, come si reperiscono i codici di kylix2 ? dal sito della
borldand non si riesce ... :(((
--
Davide Consonni
(
davidec...@virgilio.it
)

 dal sito della borldand non si riesce ... :(((
ri-Registra online.
Saluto
Quinto

http://info.borland.com/shop/index.html?catid=329
Vorrei tanto sbagliarmi ma sembra che i porci vogliano ben 99$ per Delphi 7
Personal...

 Personal...
perche' "porci" ?

 wrote in message
news:Ht8c9.132210$n04.3...@twister2.libero.it...


 Paolo
Mi sta salendo il dubbio che vogliano fare come con C++ Builder... La
versione Personal solo su CD, e non piu' scaricabile a ufo...
In tal caso ne faro' volentieri a meno.

probabilmente quello č il prezzo per chi vuole avere a casa il CD
ed un manuale un po sintetico :D


Newsgroup: it.comp.lang.delphi
Titolo: riempire una dbcombobox

ciao a tutto il NG.
qualcuno sa indicarmi come riempire una dbcombobox con i campi di una
tabella dbf?
io creo una ttable, poi una tdatasource e collego a questa il dbcombobox.,
nelle proprietà del dbcombobox scelgo tranquillamente il campo che mi
interessa ma se faccio girare l'applicazione il dbcombobox mi resta vuoto.
ho messo questa procedura:
procedure TForm1.FormActivate(Sender: TObject);
begin
   while not Table1.Eof do begin
  DBComboBox1.Items.Add(Table1.FieldByName('gruppo').AsString);
  Table1.Next;
end;
tenete conto che sto iniziando solo adesso a usare il delphi, e che conosco
pochissimo il pascal. (ma quella parola "Sender: TObject" è giusta?)
grazie a tutti


E' giusta, è l'oggetto , o meglio il controllo, che ha innescato l'evento in
questione
Se hai qualche dubbio ancora, chiedi
Ciaoux

xche usare una tbcombobox quando esiste la comoda dbLookUpComboBox?
saluti
AS
-- 
Posted from  [212.17.220.41] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG


ok, ma non riesco ugualmente!!!!!!
thanks
Newsgroup: it.comp.lang.delphi
Titolo: [OT] Programmatori in Prov.BZ?

Volevo sapere se c'è qualche programmatore che mi può aiutare ed
affiancare per la realizzazione di un programma.
Ovviamente ad un prezzo accettabile!!!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Io vengo a BZ (in particolare ad Ortisei) in agosto
Se ti interessa.... (cmq sono di FI)
Ciao

 Ciao
Bene allora potremmo incontrarci!!!
Spero che non sia la settimana di Ferragosto e quella successiva perchè
sono in Ferie anch'io e sono via!!!
Ciao. Enrico


Dovrei rimanere fino a fine mese...
se mi scrivi in privato ti posso dare il numero di telefono e poi ci
becchiamo. Ciao!

 Ovviamente ad un prezzo accettabile!!!
Se serve una collaborazione sono di Brescia. Magari se riesci a dare piů
dettagli su quello che ti serve sareSSe meglio :)
ciauz e fammi sapere.
Valerio
** Free nntp server at 
www.x-privat.org
 **
Newsgroup: it.comp.lang.delphi
Titolo: insert con tquery...

Ho un componente Tquery con il quale accedo ad una tabella. Vorrei fare
l'iserimento senza eseguire la query della proprietà sql.text. Mi spiego
meglio:
Quando attivo il componente Tquery, viene eseguita automaticamente la select
contenuta nella proprietà sql, questo fa perdere notevole tempo. Volevo
saltare questa selezione e mettere il componente tquery direttamente in
stato di insert alla sua attivazione e prima della select..... secondo voi è
possibile?
Ciao
Gianni
P.S.
Spero che la spiegazione sia chiara....



No, che io sappia. 
Per fare un insert diretta devi fare una insert -- scusa il gioco di
parole -- (insert into pippo (var1, var2, varN) values (:Var1, :var2,
:varN) cosa che io consiglio sempre quando e' possibile proprio per
evitare l'apertura di un dataset molto grosso.
Un'altra alternativa potrebbe essere quella di usare si' una select ma
prefiltrata in modo tale di avere un dataset, per esempio vuoto, tipo 
Select * from Pippo where campo = valoreimpossibile. In questo caso la
select sarebbe veloce e ti permetterebbe comunque l'insert.
Ciao,
Massimo.
-- 
"Ciao Rex, che cavolo di situazione eh? Due dentro, due fuori, puo' succedere di tutto!"

Se la query ti serve solo per inserire, metterci una select non ti serve.
Nella sql puoi tranquillamente scrivere invece di select * from qualcosa una 
cosa del tipo:
insert into tabella
(campo1,campo2,campo3)
values
(v1,v2,v3)
Questo se i valori sono fissi li metti direttamente nel comando.
Se invece sono variabili:
insert into tabella
(campo1,campo2,campo3)
values
(:v1,:v2,:v3)
A questo punto, quando devi fare l'inserimento basta che scrivi:
MiaQuery.ParamByname('v1').Clear
MiaQuery.ParamByname('v2').Clear
MiaQuery.ParamByname('v3').Clear
MiaQuery.ParamByname('v1').AsQualcosa := Valore1
MiaQuery.ParamByname('v2').AsQualcosa := Valore2
MiaQuery.ParamByname('v3').AsQualcosa := Valore3
MiaQuery.ExecSql;
Inoltre, siccome questo tipo di query non restituiosce un recordset puoi 
impostare unidirectional a true e disattivare cahchedupdates che
in questo contesto non serve.
Dimenticavo:
nella proprieta params della query devi specificare il tipo di dati del 
parametro altrimenti si inkazza..
Ti basta?
saluti
zzato
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at 
http://www.hotmail.com
.
-- 
Posted from [212.177.19.163] by way of 
law2-f98.hotmail.com
 [216.32.181.98] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Grazie 1000 per le risposte, per il momento ho optato per la soluzione di
Massimo (con una query che non restituisce nulla).....era la soluzione meno
"rivoluzionaria" per il mio progetto e semplice da realizzare......in futuro
seguirň il sistema di zzato, il quale ringrazio particolarmente per i
dettagli della sua spiegazione.
Ciao
Gianni

Io faccio cosi':
table2.Insert;
table2['nome campo tabella']:=variabile;
...
table2.Refresh;
table2.Next;
table2.Insert;
table2['nome campo tabella']:=variabile;
..
e cosě via..
Ciao
Paolo
Newsgroup: it.comp.lang.delphi
Titolo: stato creazione Form - FormState

cercando di avere una applicazione stile mdi (ma non MDI) , basata su
Form che a loro volta contengono Frame;
- vorrei controllare se un Form e' stato Creato, quindi passando sulla voce
di un menu se il form esiste dovrebbe essere recuperato e non ricrearlo.
se verifico com m_FormTest.FormState , anche dopo aver creato il Form viene
sollevata eccezione.
in rete trovo un'esempio, che lo controlla internamente al Form, il mio
scopo e' farlo esternamente al Form.
procedure TForm1.Button1Click(Sender: TObject);
begin
  if (fsModal in FormState) then
    ShowMessage('Form is modal.');
end;
dove sbaglio ?
grazie Maurizio
//------------
uses ....., unt_FormTest;
var
  m_FormTest:Tfrm_Test;
....
strict private
  procedure CaricaFormTest;
....
procedure Tfrm_Base.CaricaFormTest;
var StatoForm:TFormState;
begin
   try
    StatoForm:=m_FormTest.FormState;   // solleva eccezione
   except
     m_FormTest.Create (Self);
     with m_FormTest do
     begin
       BorderStyle := bsNone;
      Align := alClient;
      Parent := ScrollBox1;
      Visible := True;
     end;
   end;
end;

assigned?
A.

 di un menu se il form esiste dovrebbe essere recuperato e non ricrearlo.
Supponendo che, al momento della creazione del form, il riferimento 
venga copiato all'interno di una variabile e supponendo ancora che, alla 
distruzione, questa variabile venga impostata a *nil*, è sufficiente 
testarne il valore per determinare se il form è già creato oppure no.
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)
Newsgroup: it.comp.lang.delphi
Titolo: Firebird SQL

Esiste un gruppo in cui si tratta in italiano l'argomento SQL ed il database 
Firebird? 

http://www.delphiedintorni.it/geoxml/newsgroup
Ciao


http://www.delphiedintorni.it/geoxml/newsgroup
Ciao


 
http://www.delphiedintorni.it/geoxml/newsgroup

 Supergrazie
Tieni anche d'occhio i forum del sito madre
http://www.firebirdsql.org/
-- 
Morde. 
ICLDweb: 
http://www2.samatel.com/icld/

Newsgroup: it.comp.lang.delphi
Titolo: HELP I\O error 183??????

Ecco il codice
var f:TZoneFile;
begin
if p <> nil then begin
   assignfile(f,ProfileFile(pname));
   rewrite(f);  <----- l'errore avviene a questo punto
   while p <> nil do begin
   write(f,p^.data);
   p:=p.next;
   end;
   CloseFile(f);
end
Il file  viene creato ma vuoto (quindi il nome del file è corretto)
Tzonefile è un file di un record di record...
Uso delphi 4 std
Quale può essere la causa?
Grazie mille
Kirys
--------------------------------------------------
Brayan Fix Kirys Solfory
E-Mail: 
Ki...@technologist.com
 
For Free Software go to: 
http://Kiryssoft.cjb.net

 Kirys
prova ad inserire
{$I-} prima di
assignfile(...........)
   ciao  a.f.

    p:=p.next;
e in secondo luogo questo e' senz'altro sbagliato e va corretto con:
p:=p^.next
Ciao, Sandro

p:=p^.next
Si avevo copiato male il testo ma l'errore veniva prima
Salutoni


Newsgroup: it.comp.lang.delphi
Titolo: Variabili dataset di una PROCEDURE

Dovrei fare una procedura che abbia al suo interno
come variabili una tabella ed un suo campo usando
Delphi6 - database MDB - connessione ADO; ma non
sono molto pratico e non so come fare.
Esempio:
...
procedure miaProcedura(var tabella: tDataset; campo: tBooleanField);
...
procedure form1.miaProcedura(var tabella: tDataset; campo: tBooleanField);
begin
   ...
   ...
end;
procedure form1.FormShow(Sender: TObject);
begin
   ...
   miaProcedura(tblFatture; tblFatturePagato)
   ...
end;
Mi viene il seguente errore quando compilo:
(Error form.pas(97): types of actual and formal var parameters must be 
identical)
dove sbaglio? 

a non premere f1...
AS

togli quel var, è un oggetto(quindi un puntatore) e non hai bisogno si
specificare del ritorno del parametro.
Segui comunque il consiglio di ALberto.
Bye,
Raktzo

 dove sbaglio? 
Oltre al *var* incriminato, alcune delle parti del tuo codice non hanno 
molto senso; ho paura che tu non abbia fatto "copia e incolla" ma abbia 
scritto di tuo pugno il codice riportato, magari omettendo la parte con 
l'errore o introducendo nel codice del messaggio errori che invece sono 
assenti nella versione originale. :-/
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

 ha scritto nel messaggio 
news:434fb09e$0$20499$4faf...@reader4.news.tin.it...

Newsgroup: it.comp.lang.delphi
Titolo: da delphi a sql server... stored procedure

Salve a tutti, non sono molto pratico di stored procedure, ho trovato un po
di materiale in rete e ho provato a scrivere ( e anche copiare ) un po di
codice che vi posto, vorrei sapere se quel codice potrebbe girare come
stored procedure su SQL Server e se fa quello che dovrebbero...,le posso
inserire nelle stored procedure del mio DB cosi come sono?
Ciao,
Antonio.
//---------------------------------------------------------------
//procedura per il backup
procedure BackUpDBGestImp
BEGIN
  BACKUP DATABASE [GestioneImprese]
    TO  DISK = 'C:\GestioneImprese.Bak'
    WITH  INIT , NOUNLOAD
    , name = 'GestioneImprese backup'
    , NOSKIP
    , STATS = 10
    , Description
    = 'Backup Full di GestioneImprese'
    , NOFORMAT
END
//---------------------------------------------------------------
//procedura per il log
procedure BackUpLOgGestImp
BEGIN
    BACKUP LOG [4uahr] TO
    DISK =  'C:\GestioneImprese.Bak'
    WITH  NOINIT ,
    NOUNLOAD ,
    NAME = N'4uahr backup',
    NOSKIP ,
    STATS = 10,
    NOFORMAT
END
//---------------------------------------------------------------
//procedura per il Restore
procedure RestoreDBGestImp
BEGIN
    RESTORE DATABASE MusicBox2
    FROM DISK = 'C:\GestioneImprese.Bak'
    WITH RECOVERY,
    MOVE 'MusicBoxDat'
    TO 'C:\sql.dir\data\GESTIONEIMPRESE_DATA.MDF',
    MOVE 'MusicBoxLog'
    TO 'C:\sql.dir\data\GESTIONEIMPRESE_LOG.LDF'
END

inserire nelle stored procedure del mio DB cosi come sono?
sei OT (per queste domande specifiche ci sono NG apposta tipo
it.comp.software.database)
Rispondendo alla tua domanda, no, non puoi usarli cosě come sono.
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS OFF 
GO
CREATE PROCEDURE BackupDBGestImp
//tutto il baslotto tra begin e end senza begin e end
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO
-- 
Ore 18.30: premo invio.

 Ore 18.30: premo invio.
Ti ringrazio ... in ogni caso se mi permetti di approfittarne, se volessi
passare qualche parametro alla procedura tipo una stringa come faccio?
procedure(variabile : tipovariabile) ?
mi fai un esmpio?
scusa se approfitto.
Ciao,
Antonio.

 passare qualche parametro alla procedura tipo una stringa come faccio?
CREATE PROCEDURE PROVA1
	@PARAMETRO1 INT
	@PARAMETRO2 INT
AS
..
e nella chiamata 
	EXEC PROVA1 10, 15
(mi pare).
Saluti.
	Marco Bortolani
	info @ 
marcobortolani.it

Newsgroup: it.comp.lang.delphi
Titolo: accesso ai database: che caos

Ciao a tutti!
Da pochi giorni sono passato da delphi pro 5 a delphi pro 7 escopro che ci
sono varie tecnologie per accedere ai database, se capisco bene, oltre al
solito bde c'e' anche dataexpress, e ado.
Qualcuno mi direbbe in due parole le differenze ed eventuali vantaggi?
Grazie mille
-
Andrea

fai una ricerca partendo:
http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&group=it.comp.lang.delphi
Bye
A.

 solito bde c'e' anche dataexpress, e ado.
Comunque sia ADO che dbExpress sono presenti anche in Delphi 6, oltretutto
BDE e ormai da lasciare perchč non viene piů aggiornato ed č ritenuto una
tecnologia sorpassata da Borland.
Saluti.
Newsgroup: it.comp.lang.delphi
Titolo: Photoshop SDK

Sapete se esiste una conversione per delphi dell'SDK di adobe
per photoshop?
ciao


interesserebbe anche a me...

Newsgroup: it.comp.lang.delphi
Titolo: Drag 'n drop

Esiste un modo per ottenere il nome del file
associato ad un'icona, una volta che questa
viene trascinata e rilasciata sulla finestra
della propria applicazione ?
-- 
Posted from  [80.105.34.80] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 della propria applicazione ?
DragQueryFile() è la funzione giusta.
Se dovessi avere dei problemi puoi scaricare i sorgenti di questo
programmino (
http://members.fortunecity.it/cbertu/IconSpy_SRC.zip
) e
troverai all'interno un TListView creato dinamicamente che accetta il Drag'n
Drop.
Ciao! :-)
--
- Carlo -
c.b...@libero.it
http://members.fortunecity.it/cbertu

Drop.
Grazie mille :)
-- 
The Follet

Grazie mille :)
Ho parlato troppo presto:
We're sorry, but we can't supply the file you requested.
E' cosi' che mi ha risposto il tuo server.
Se non erro non e' la prima volta che ti capita, sei sicuro
che il tuo server non faccia differenza tra maiuscole e
minuscole ?
-- 
The Follet

 We're sorry, but we can't supply the file you requested.
Fortunecity mi sta facendo impazzire. Prova ad entrare sulla home
(
http://members.fortunecity.it/cbertu
), clicca su "Programmi Freeware" e poi
su IconSpy+, sui file sorgenti!
Non capisco perchč dal link non ci si arrivi ...


 Fortunecity mi sta facendo impazzire. 
Grazie lo stesso, mi hai segnalato l'API giusta e,
consultando l'help dell'SDK (che e' molto chiaro in
proposito) sono riuscito a crearmi il mio WinAdder :)
Con IconSpy ho notato che aggiungendo il file da
menu', l'applicazione leggere regolarmente il path
e mostra l'icona a video, se invece trascino l'icona 
sulla finestra non mostra niente.
E' normale ?


 sulla finestra non mostra niente.
Devi trascinare l'icona (che deve essere associata ad un file
.exe/.dll/.ico) sul controllo di sinistra (ci dovrebbe essere scritto drag n
drop) ... fammi sapere se non ti va!
Ciao :)


.exe/.dll/.ico) sul controllo di sinistra
Fatto, ma non funziona.
L'icona del mouse cambia, evidenziando il + (piu'), ma
quando "droppi" non compare nulla.
Provato sia sotto Win98, sia sotto Win2K.
-- 
The Follet
Newsgroup: it.comp.lang.delphi
Titolo: firebird .loadfromfile

Eseguo le seguenti istruzioni:
MyClientDataSet.Edit;
MyClientDataSet.FetchBlobs;
TBlobField(MyClientDataSet.FindField('LOGO')).LoadFromFile('c:\old2.bmp');
MyClientDataSet.Post;
....
if (MyClientDataSet.ChangeCount > 0) then
  MyClientDataSet.ApplyUpdates(0);
E fino qui tutto bene.... sembra memorrizzare la mia immagine nel DB.
Ma quando chiudo e riapro la mia appicazione.... al posto
dell'immagine mi appare un riquadro di colore nero!!!!!
Qualcuno puo' aiutarmi?

...

ho approfondito la cosa e ho visto che sul ClientDataSet vengono
memorizzate corettamente, ma l'ApplyUpdate (anche se non da nessun
errore) non trasferisce la modifica al blob del DB.
Qualcuno ci capisce qualcosa? Grazie.

 errore) non trasferisce la modifica al blob del DB.
Non è così l'errore viene generato ma và gestito sull'evento
OnReconcileError del client Dataset
Dove E: EReconcileError è l'errore che viene sollevato.
quindi per vedere l'errore devi fare
ShowMessage(e.message)
poi se ci dici l'errore che solleva magari possiamo aiutarti
ciao
   gabriele

 dell'immagine mi appare un riquadro di colore nero!!!!!
Hai Provato anche con un altra immagine e il risultato è lo stesso ???
Pung@

 Pung@
gabriele

Altro aggiornamento: il tutto funziona con file BMP molto piccoli fino
a circa 60k, con un file di 160k ho solo metà immagine, con un file da
1,4Mb non vedo assolutamente nulla!!!!

...

ho inserito l'istruzione "ShowMessage(e.message)" in OnReconcileError
ma il pgm non passa per quell'istruzione, quindi presumo che non ci
siano errori.... pero' in effetti ho notato che il programma funziona
con immagini piccole (intorno ai 60-80kb) ma non con immagini
medio-grandi (visualizzandomi o zone di nero o tutta l'immegine nera)

 
Si ho provato con immmagini piů piccole e il risultato č stato buono
(vedi altro mio post + sotto)

Newsgroup: it.comp.lang.delphi
Titolo: Paradox errore BDE

Ciao a tutti,
ho un problema con una tabella Paradox condivisa in rete, da un computer che
monta windows2000 mi dice
BdeError "Cannot access directory".
 Sapete dirmi perchè ? Non riesco a risolvere il problema in nessun modo.
Grazie
Stefano Tampieri

Hai controllato i permessi di accesso alla cartella condivisa?
Può darsi che l'utente che utilizza il dBase non abbia permessi sufficienti
per operare sulla cartella condivisa.
Inferno.
Newsgroup: it.comp.lang.delphi
Titolo: Resize di TImage

Uso un TImage per caricarci delle immagini JPEG.
Ho la necessità tramite un bottone di cambiare la dimensione dell'immagine
per poterla salvare su un file, il più delle volte cercando di ridurre
l'occupazione in byte.
Come posso fare visto che è impossibile cambiare run time le proprietà width
ed heigth?
Grazie a tutti.

 cercando di ridurre l'occupazione in byte.
Non è una cosa così immediata; il procedimento che vuoi fare si chiama
"resampling", se cerchi su google troverai probabilmente delle librerie già
pronte che fanno al caso tuo.
--
Jax
Journeying Artificial Xenomorph

Grazie Jax
sei stato di grande aiuto indirizzandomi sul resampling ho scoperto che
utilizzando
BitmapNew.Width:= xx;
BitmapNew.Heigth:= yy;
BitmapNew.Canvas.StretchDraw(BitmapNew.Canvas.ClipRect, BitmapOriginal);
si riesce a modificare l'immagine originale;

 si riesce a modificare l'immagine originale;
Beh, certo che puoi usare lo StretchDraw, ma pensavo che ti servisse
qualcosa di un po' più bellino, ma se va bene a te... :)



Sono un novellino e non pretendo di più.
Grazie.
Newsgroup: it.comp.lang.delphi
Titolo: E' possibile ... ?!?

Salve a tutti,
è possibile, in un qualche modo, mostrare la velocità attuale del download
di un file che si sta scaricando ?
Se si, come ?
Grazie,
Kaldais

 ha scritto nel messaggio
news:wXjja.58212$Jg1.1...@news1.tin.it...


Grazie di tutto,
allora .. uso il componente Indy per FTP e quindi ho tutti gli eventi utili
OnWorkBegin, onWork, onWorkEnd.
Come dovrei gestirmi?
Grazie,
Kaldais

,
ho trovato questo codice per gli eventi work
Variabili esterne ai metodi
Var
  AbortTransfer: Boolean;
  TransferrignData: Boolean;
  BytesToTransfer: LongWord;
  STime: TDateTime;
  AverageSpeed: Double = 0;
non servono tutte per calcolare la velocità ma per rimanere il più possibile
fedele all'autore le riporto
anche perchè sono di utilità molto comune
Metodi del form assegnati ad un oggetto IdFTP1 correttamente creato
procedure TMainForm.IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
  TransferrignData := true;
  AbortTransfer := false;
  STime := Now;
  AverageSpeed := 0;
end;
procedure TMainForm.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
Var
  S: String;
  TotalTime: TDateTime;
  H, M, Sec, MS: Word;
  DLTime: Double;
begin
  TotalTime :=  Now - STime;
  DecodeTime(TotalTime, H, M, Sec, MS);
  Sec := Sec + M * 60 + H * 3600;
  DLTime := Sec + MS / 1000;
  if DLTime > 0 then
    AverageSpeed := {(AverageSpeed + }(AWorkCount / 1024) / DLTime{) / 2};
//le omissioni sono dell'autore suppongo
  S := FormatFloat('0.00 KB/s', AverageSpeed);
  case AWorkMode of
    wmRead: LabelOutPut.Caption := 'Download speed ' + S;    //la
LabelOutPut deve essere creata sul form
    wmWrite: LabelOutPut.Caption := 'Upload speed ' + S;
  end;
  if AbortTransfer then
    IdFTP1.Abort;
  AbortTransfer := false;
end;
procedure TMainForm.IdFTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
  BytesToTransfer := 0;
  TransferrignData := false;
  AverageSpeed := 0;
end;
Con questo metodo calcoli la velocità media
comunque tutte le demo come molto altro materiale lo trovi su
http://www.indyproject.org/
 ;)
spero di aver scritto chiaramente e di esserti stato d'aiuto
  Ciao
  Mak
Newsgroup: it.comp.lang.delphi
Titolo: Errore su chiamata Insert.

Non riesco a capire dove sbaglio... provo a trascrivere un pezzo di codice,
dovrebbe essere piu' chiaro:
Se uso le seguenti 2 righe, e seguo tutto con il debugger, mi si blocca
sulla seconda.
    DataModule2.TblFattura.Active := True;
    DataModule2.TblFattura.Insert;
Quello che non mi convince e' il messaggio di errore: dice "TblFattura:
Dataset not in edit or insert mode"
Cioe', io chiamo il metodo Insert, e il programma si blocca dicendomi che la
tabella non e' in modo insert... ci ho perso una buona mezz'ora, ma non
riesco a capirlo...
Qualcuno sa darmi un'idea? Grazie.

gia provato append?
A

 gia provato append?
Provato ora... Idem.
Il fatto e' che in realta' il record viene inserito nel database (ho
controllato), sembra quasi che faccia un Post in automatico, e non capisco
perche'... :-(

disattiva il codice assegnato agli eventi.
Provi.
Poi, riattivi un blocco alla volta.
Bye
A

 disattiva il codice assegnato agli eventi.
Se intendi gli eventi legati al dataset, ho gia' provato...
Ho verificato che il programma richiama la OnBeforeInsert, ma non arriva
alla OnNewRecord. Sto spulciando i sorgenti della VCL (adodb.pas fa
casino... ma non capisco come), e sembra che c'entrino i collegamenti
master-detail...


 i collegamenti master-detail...
Infatti, se tolgo il collegamento funziona. Faro' cosi', e le colleghero' a
mano... (visto che questa volta *posso* farlo, conviene farlo, piuttosto che
perdere una giornata intera dietro a un errore che non so neanche se dipende
da me...)

 codice, dovrebbe essere piu' chiaro:
Risolto il problema: Non puo' esserci una relazione master-detail tra 2
tabelle, se la detail contiene un campo lookup che "guarda" la master. Ora
posso chiudere tutto e tornare a casa.

Newsgroup: it.comp.lang.delphi
Titolo: Problemi con dll resource

Ciao a tutti,
ho un progetto di grosse dimensioni internazionalizzato con la DLL di
risorse, ora sono state applicate alcune modifiche al progetto e devo
aggiornare tutte le altre lingue.
Qui sorge il mio problema..... quando lancio la "Update Resource DLLs" mi
genera questo errore : "Datamod.dfm has open descendents or linked modules.
Cannot reload"
Avete qualche idea????
Alberto Cigliutti

da ide hai un datamodule aperto che eredita o usa datamod.
A

 ha scritto nel messaggio
news:cbr9ul$1pel$1...@newsreader2.mclink.it...


Newsgroup: it.comp.lang.delphi
Titolo: GESTIRE FILES EXCEL DA DELPHI

Ciao a tutti,
sono nuovo del forum, spero che qualcuno possa aiutarmi....
Ho bisogno di modificare celle di un file excel da delphi2005, usando
solo una connessione ADO con un ClientDataSet. In pratica il problema
é questo: come faccio a riversare il contenuto di una tabella che sta
nel DataSet nel file excel, che giá esiste, senza dover usare i
controllo OLE?????
Grazie a tutti

solo una connessione ADO con un ClientDataSet.
http://www.google.it/search?hl=it&q=excel+ado+delphi&btnG=Cerca&meta=

Grazie mille......qua c'é tutto quello che mi serve :)
Newsgroup: it.comp.lang.delphi
Titolo: compilazione

anche se ce la metto tutta, ottimizzo tutto il possibile, con Delphi 5 sia Standard che Enterprise non riesco a compilare setto i 44k in consolle application e 320k in windows application.
esiste un modo per superare questa soglia?

esiste un modo per superare questa soglia?
se usi unit, crivi molto codice ecc.. e ' normale,
questa applicazione
program Project1;
{$APPTYPE CONSOLE}
begin
end.
occupa 16k .... :)
Ciao,
Alan Solo

Newsgroup: it.comp.lang.delphi
Titolo: Attesa attiva su OnClientRead

Salve a tutti...,
ho il seguente problema:
Ho fatto un eseguibile che spedisce dei dati via udp e attende una
risposta su
una connessione socket attivata in precedenza.
Il problema è che non riesco a bloccare il codice in un punto per
sbloccarlo solo quando ricevo dei dati.
Se lo blocco con dei
                     while true do
                       begin
                         ---
                       end; 
o con sleep(...) il processore si blocca li e non riceve...,
esiste una attesa attiva nel senso che mi blocca il codice in un punto
e permette di ricevere dati e di segnalarlo?
Ho provato anche con create event,set event,WaitForSingleObject,ma la
WaitForSingleObject mi blocca tutto.
Ho notato che una semplice showmessage('Aspetta') permette al
processore di ricevere dati quando il codice è bloccato sulla
Showmessage('Aspetta').
Esiste qualcosa del genere che posso sbloccare io sulla ricezione dei
dati,ma che ovviamente non faccia comparire nulla a video?
Spero di aver chiarito il problema...
Grazie a tutti!!!

prova una application.processmessages;
Bye
A.

 Showmessage('Aspetta').
Credo che il tutto sia dovuto al fatto che durante l'esecuzione di quel
codice il tuo thread entra in un blocco poichè l'applicazione non serve più
la sua coda dei messaggi.
Come diceva giustamente Alberto potresti inserire dentro il ciclo una
application.processmessages() che forza il thread a servire la sua coda dei
messaggi. Occhio però che application.processmessages() chiamata ad ogni
iterazione rallenta in maniera impressionante, quindi hai due alternative
1 - Chiamare ProcessMessages() ogni X iterazioni
2 - Decentrare quel codice in un thread apposito
Ciao

ma allora non 6 sparito nella 16 dimensione.... :))
A.

 ma allora non 6 sparito nella 16 dimensione.... :))
Prima o poi si torna sempre alle origini! :-)
Ciao
Newsgroup: it.comp.lang.delphi
Titolo: unit condivise su piu bpl

non si puo.
allora io mi domando come risolvo questo problema?
ho 2 unit 1 contiene delle routines di carattere generale
e l'altra e' la baseform di tutte le form che la ereditano.
le bpl non necessariamente contengono 1 sola form ma si vorrebbe crere 1 
bpl per modulo, tipo plugin all'applicazione .
 
Come si puo fare ?
 
Grazie.

 
Se si tratta di procedure e funzioni e non di una classe che espone n
metodi potresti  creare una DLL che viene caricata dinamicamente da
ogni BPL.
In questo modo risparmi anche la ricompilazione di tutto il casino se
una delle funzioni base cambia non come interfaccia epsosta ma come
core...
Notare che deve essere una DLL normale e non un COM...
L'uso del COM senza late binding ti costringerebbe ad avere in goni
bpl la type library del COM e staresti punto e a capo..
Certo, potrei farlo usando il late binding ma poi sono uccelli per i
diabetici (cazzi amari) in fase di debug....
 
Se hai una classe, ci sono delle cose che simpatiche si possono fare
ma sono un po' toste....
 
A.

 allora io mi domando come risolvo questo problema?
 
Sarebbe come dire "ho due cartelle con lo stesso nome nella stessa directory e Windows non me le accetta... come risolvo?".
 
La risposta è semplice: si usano nomi diverse per le unit dei diversi package.
 
Definisci meglio qual è il problema *vero* che ti impedisce di fare questo.
 
-- 
MARCO BREVEGLIERI
#Home: 
http://www.marco.breveglieri.name
 
#Blog: 
http://www.compilaquindiva.net
 


va bene per la unit delle funzioni, posso anche scrivere una bpl di 
funzioni?
invece per la form di base come cavolo si fa?
Newsgroup: it.comp.lang.delphi
Titolo: DLL e string ...

Ciao a tutti,
- DOMANDA: esiste un modo particolare per passare/salvare delle
stringhe in una DLL?
- Motivo della domanda:
Var
 hShellHook: HHOOK;
 LogFileName: string;
...
function ShellHook(Code:Integer; hWnd:Wparam; Lparam:Lparam):LRESULT;
Stdcall;
begin
 if (Code=HSHELL_WINDOWCREATED)
  then begin
    AssignFile(LogFile, 'c:\debug.txt');
    Append(LogFile);
    Writeln(LogFile, 'LogFileName="' + LogFileName +'"');
    // *** LogFileName qui è una stringa vuota ! (???) ***
    CloseFile(LogFile);
  end;
 Result := CallNextHookEx( hShellHook, Code, hWnd, Lparam );
end;
procedure LoadHook(ALogFileName: string); stdcall;
begin
 hShellHook := SetWindowsHookEx(WH_SHELL, @ShellHook, hInstance, 0);
 LogFileName:=ALogFileName;
 AssignFile(LogFile, 'c:\debug.txt');
 Rewrite(LogFile);
 Writeln(LogFile, 'LogFileName="'+ LogFileName+'"');
 // *** ... mentre qui LogFileName è corretto! ***
 CloseFile(LogFile);
end;
...
ovviamente prima eseguo LoadHook (quindi assegnado un valore alla
stringa) e poi faccio scattare l'hook (aprendo una finestra a caso),
il risultato di debug.txt è questo:
LogFileName="c:\nomefile.log"   
LogFileName=""
in pratica da loadHook è tutto ok, mentre da ShellHook no!
non capisco perche'!
grazie a chi mi sa aiutare (non uso moto le DLL) ...
Ciao,
Alan Solo

stringhe in una DLL?
Non usare il tipo "string" come tipo dei parametri per le funzioni
contenute nelle DLL, se queste funzioni devono essere richiamate
dall'esterno, perche' la DLL non sara' compatibile con linguaggi
diversi da Object Pascal.  Usa, piuttosto, il tipo PChar, come fanno
tutte le API Windows richiamate da OP.  Sappi anche che per usare le
"string" come tipi dei parametri di funzione, devi portarti dietro
BORLNDMM.DLL, il memory manager di Delphi e devi includere come prima
unit nella libreria, la ShareMem (che e' l'interfaccia al memory
manager).

manager).
ok, usero' i pchar (o shortstring) pero' il problema purtroppo è un
altro, sono giunto alla conclusione che la variabile globale letta
dalle due funzioni non è la stessa, probabilmente l'hook si crea una
nuova istanza della DLL, o almeno credo... quindo hanno delle
variabili globali diverse (scritte in spazi di memoria diversi)...
se avete qualche suggerimento...
Ciao,
Alan Solo

se avete qualche suggerimento...
Cioe' fammi capire, hai creato una variabile globale per far
condividere le informazioni tra i processi e il tuo programma che
aggancia l'hook ?
Se e' questo che vuoi fare, ti dico subito che non va bene.
Gli hook system-wide devono impostare e usare una zona di memoria
condivisa (es.: un memory mapped file) perche' riescano a catturare le
informazioni relativi al sistema e non al singolo thread.

informazioni relativi al sistema e non al singolo thread.
sě infatti me ne sono accorto, io pensavo che essendo il mio programma
a creare l'hook fosse utilizzata la stessa istanza di DLL, e invece
no...
provero' con i memory mapped files... grazie
Ciao,
Alan Solo
Newsgroup: it.comp.lang.delphi
Titolo: Connessione a MySQL

Ciao...
Sto facendo i miei primi esperimenti con dbExpress e vorrei connettermi ad
un database MySQL.
Premetto che utilizzo Delphi 7 e MySQL 4.0.18.
Ho inserito nel form un componente SQLConnection e ho impostato i vari
parametri:
tuttavia quando provo a fare il test sulla connessione mi da questo
messaggio di errore:
"unable to load libmysql.dll"
Ho controllato i post vecchi e c'è scritto di copiare tale libreria nella
directory dell'eseguibile e così ho fatto ma il problema persiste.
Qualcuno sa darmi qualche spiegazione per cortesia?
Grazie mille!
Ciao!
Nicola

Sembra proprio che l'unica soluzione al momento sia di utilizzare una
libreria per effettuare il collegamento a una versione di MySQL precedente
alla 4...
e sta per uscire la 5... :-)
Incredibile...

 directory dell'eseguibile e cosě ho fatto ma il problema persiste.


 Hai provato a copiare quella DLL nella system32 di windows?
L'ho copiata nella dir dell'applicazione e dovrebbe bastare.
Comunque ho cercato un po' in internet e il problema è proprio con la
libreria fornita da borland. Ci sono dei bug che non penso siano stati
corretti.
In tutti i post che ho trovato consigliano di scricare delle librerie di
terze parti, in particolare di crlab ( 
http://crlab.com
 ).
Ho provato quelle e infatti sono riuscito a far andare la connessione! ^_^
Tuttavia mi sembra siano trial e quindi hanno delle limitazioni...
Non sono sicuro di questo, devo informarmi meglio...
Ciao!
Nicola

 ha scritto nel messaggio
news:c49ckn$t3s$1...@lacerta.tiscalinet.it...


 tua applicazione Delphi.
Sì, scusami, mi sono spiegato molto male! :-P
Non è la libreria di MySQL che non funzia ma quella con i driver
dbExpress...
Infatti il problema nasce quando ci si deve collegare a un db MySQL.
Oltre ad aver copiato la libreria di MySQL nell'applicazione (o come hai
detto tu nella dir system32 di win) ho copiato anche quella con i driver
dbExpress forniti da crLab.
Ora sono riuscito a far funzionare la connessione per fortuna!
Scusami ancora per la pessima spiegazione. Tra l'alto ho preso in mano
Delphi solo da pochi giorni.
Spero possa servire a te e ad altri in futuro!
Ciao!
Nicola

Newsgroup: it.comp.lang.delphi
Titolo: Lancio applicativo

Salve a tutti...
supponiamo che abbia una stringa con un sito web e voglia lanciare IE o chi
per lui..come faccio ?
In simile cosa se ho un indirizzo Ftp o uno di posta elettronica. Devo fare
caso per caso o c'è una procedura o un sistema uguale per tutti e 3?
In pratico sto facendo un programmino che tenga traccia di tutte le login e
psw che ho. Io vorrei dal mio programma arrivare al sito in cui mi serve la
login e la psw.
Tutto qua.
Grazie tante
Gianluca

 tutti e 3?
ShellExecute(Handle, 'open', '
http://www.google.com
', '', '', SW_SHOW);
ShellExecute(Handle, 'open', '
ftp://user:pass...@google.com
', '', '',
SW_SHOW);
ShellExecute(Handle, 'open', 'mailto:
in...@google.com
', '', '', SW_SHOW);
-- 
I'am what I'am, I do what I can

Thanx setec Astronomy
Ciao
Gianluca