Elenco di bug corretti in Microsoft Visual FoxPro 9.0 Service Pack 1

Questo articolo fornisce informazioni dettagliate sulla versione e sui bug corretti in Visual FoxPro 9.0 Service Pack 1.

Versione originale del prodotto: Visual FoxPro
Numero KB originale: 907737

Riepilogo

Questo articolo contiene informazioni sui bug corretti in Microsoft Visual FoxPro 9.0 Service Pack 1 (SP1). Per altre informazioni, vedere Come ottenere Service Pack 1 per Visual FoxPro 9.0.

Visual FoxPro (VFP) 9.0 SP1 contiene correzioni per i problemi seguenti.

Controllo e classi

  • Impossibile usare il mouse per ottenere lo stato attivo su altri controlli dal controllo DHTML.
  • I moduli generati dalla procedura guidata hanno esito negativo quando si tenta di aggiungere un record se la tabella sottostante dispone di campi AutoInc.
  • Controllo Web Browser: l'implementazione di DWebBrowserEvents2 causa la mancata corrispondenza del conteggio dei parametri.
  • Il salvataggio del modulo in un file in uso causa un'eventuale eccezione irreversibile.
  • Si verifica un'eccezione irreversibile quando si compila un progetto che contiene VCX con proprietà separate solo da ritorni a capo.
  • Raccolte: la rimozione di elementi dalla raccolta con >=500 elementi arresta in modo anomalo VFP in Application Verifier.
  • CursorAdapter: TABLEUPDATE(0) ignora l'impostazione SendUpdate per il cursore memorizzato nel buffer della tabella.
  • TextBox: C0000005 eccezione con TextBox di completamento automatico in cui TextBox ha ControlSource impostato su un campo che consente gli NUL.
  • ComboBox: messaggio di errore "Tipo di dati non corrispondente" quando si imposta il valore nell'elenco a discesa quando ControlSource è una proprietà membro Null.
  • Si verifica un errore di eccezione irreversibile con il comando MODI FORM quando MSXML3.dll file non è registrato.
  • La funzione SEARCH nei moduli generati dalla procedura guidata funziona con i nuovi tipi di dati VFP9. La ricerca non trova i dati varchar.
  • La classe di controllo non ridimensiona i controlli ancorati all'interno di se stessa.
  • QUIT attivato in DESTROY del modulo non chiude VFP o applicazione.
  • READ del modulo convertito viene rilasciato in VFP 9.0, ma non nelle versioni precedenti di VFP.
  • Grid perde i dati quando l'alias selezionato viene modificato da una griglia popolamento all'alias della stessa tabella usata di nuovo e viene usato un comando CALCULATE per il secondo alias.
  • C0000005'eccezione che preme INVIO quando ListBox ListIndex = 0.
  • Comportamento di ancoraggio imprevisto per i valori 256/512 e larghezza/altezza dispari.
  • Modulo: errore di coerenza interno e quindi eccezione irreversibile si verificano quando si modifica il modulo dopo aver aggiunto la relazione a DataEnvironment del modulo usando il riferimento aselobj().
  • IMPLEMENTS non riuscito con Word. Oggetto Applicazione con Office 2003.
  • Grid diventa vuoto quando il metodo personalizzato del set di moduli padre viene impostato come ControlSource di una colonna della griglia.
  • Controlli ActiveX: il controllo ActiveX LeadTools consente di visualizzare due barre vuote nel menu Finestra.
  • CheckBox: la casella di controllo grafica e il pulsante di opzione non vengono visualizzati con il colore posteriore più scuro quando vengono premuti con i temi abilitati.
  • Messaggio di errore "Coerenza interna" che funziona con una libreria di classi archiviata in una cartella nascosta.
  • ComboBox: DownClick( ) non viene attivato a meno che l'utente non passi prima il mouse sul contenuto dell'elenco a discesa.
  • Il fotogramma di pagina con TabStretch=0 (multiplo) e con molte schede continua a crescere quando viene aperto il modulo per la modifica.
  • Aggiungere il supporto per adVarNumeric per l'origine dati ADO.
  • I problemi di aggiornamento in PageFrame in FormSet causano il ghosting di TextBox.
  • Problemi di aggiornamento con vari controlli in un modulo quando .exe viene eseguito in rete (UNC o unità mappata).
  • Il valore per lo stile elenco a discesa ComboBox non viene visualizzato in Visualizzatore eventi accessibile.
  • Il formato orfano DataEnvironment causa l'arresto anomalo di VFP quando viene chiuso.
  • Messaggio di errore "Coerenza interna" quando CTRL+TAB è disabilitato pagina nel fotogramma di pagina.
  • Un oggetto set di moduli mostra il danneggiamento della memoria delle proprietà utente la seconda volta che viene eseguito dopo un'operazione CLEAR ALL.
  • Messaggio di errore "Coerenza interna" durante la modifica o l'esecuzione di un modulo con un oggetto con impostazione Zorder non valida.
  • Barra degli strumenti non attiva con modulo modale all'interno del modulo di primo livello.
  • Griglia: messaggio di errore "Tipo di dati non corrispondente" 9 che modifica un campo DOUBLE attraverso la griglia o l'esplorazione.
  • I moduli di livello superiore con forma modale contenuta devono essere ridimensionabili e mobili.
  • Proprietà del valore dell'impostazione del messaggio di errore "Coerenza interna" init of control nella colonna della griglia.
  • Messaggio di errore "Coerenza interna" che fa clic sulla relazione nella finestra dell'ambiente dati con relazione persistente sulla chiave di indice composta.
  • CursorAdapter: i nomi di tabella di base vengono convertiti in lettere minuscole in SQL generato automaticamente.
  • Messaggio di errore "Coerenza interna" in TextBox di completamento automatico associato se il modulo usa una sessione dati privata.
  • EditBox wordwrap fa sì che le righe vuote scompaiano.

Motore

  • Il motore di dati non ottimizza più alcune query che coinvolgono la funzione DELETED() e le clausole OR.
  • Gli indici in STR() non sono ottimizzati per Rushmore con SET ANSI OFF.
  • TOP N nella sottoquery viene ignorato quando si usa UNION.
  • I valori memo non vengono convertiti quando vengono copiati tra tabelle con tabelle codici diverse (SQL SELECT, APPEND FROM).
  • Eccezione irreversibile con REPLACE con variabile non definita se è presente una regola di convalida delle righe.
  • Il blocco si verifica quando viene eseguito UNLOCK.
  • Messaggio di errore "Coerenza interna" che accede alla tabella gratuita nella transazione se la tabella viene resa transazionale in una sessione di dati diversa.
  • Requery() nella visualizzazione remota preparata non riesce.
  • LOCATE non riesce a trovare una corrispondenza quando l'indice in Valuta viene usato per l'ottimizzazione e la parte corretta del confronto è un determinato valore numerico.
  • Il comando USE può assegnare un alias duplicato per l'area di lavoro.
  • Messaggio di errore imprevisto "La tabella ha una lunghezza file/incoerenza del numero di record" in END TRANSACTION.
  • Messaggio di errore imprevisto "L'espressione SQL è troppo complessa" in CREATE SQL VIEW per tabelle di grandi dimensioni.
  • La riapertura o flush della tabella dopo ZAP con SET TABLEVALIDATE >= 8 causa "Tabella ... è stato danneggiato" messaggio di errore.
  • SQL SELECT restituisce un risultato non corretto quando la query secondaria correlata che restituisce COUNT(*) viene confrontata con 0.
  • Danneggiamento dei dati quando CursorAdapter associato a Grid viene aggiornato in un oggetto TRANSACTION.
  • Messaggio di errore "SQL: Errore durante la correlazione dei campi" imprevisto con due sottoquery EXISTS.
  • La correlazione non viene verificata per soddisfare il limite "la correlazione è supportata solo per query padre immediate".
  • Messaggio di errore "Subquery returned more than one record" imprevisto quando l'aggregazione viene usata in HAVING, ma non nell'elenco SELECT.
  • La query restituisce un risultato non corretto quando la valutazione ORDER BY+TOP N viene unita alla valutazione GROUP BY e TOP è ottimizzato.
  • SELECT COUNT(ICASE(.T.,1)) restituisce un risultato non corretto.
  • SELECT INTO ARRAY modifica l'area di lavoro corrente se usa una query secondaria in FROM.
  • L'indice nel cursore memorizzato nel buffer della tabella è danneggiato dopo REPLACE con ambito.
  • Una query con OUTER JOIN produce un risultato non corretto se in WHERE viene usato NOT EMPTY(...) .
  • Messaggio di errore imprevisto "L'espressione SQL è troppo complessa" con sottoquery correlata.
  • "Microsoft Visual C++ rilevato un sovraccarico del buffer della libreria di runtime!" e C0000005'eccezione che esegue il ciclo SCAN su una tabella di grandi dimensioni.
  • CAST() alla data di un campo datetime vuoto restituisce il tipo datetime.
  • ALTER TABLE ... ALTER COLUMN per modificare il campo carattere in integer cambia anche il valore.
  • "Errore durante la compilazione della chiave per l'indice..." messaggio di errore durante l'indicizzazione tramite str() su un valore NULL.
  • Messaggio di errore "Coerenza interna" in REQUERY() dopo tableupdate() per la visualizzazione remota con batchupdatecount = -1 e buffering della tabella.
  • Messaggio di errore "Coerenza interna" in SQL SELECT quando le dimensioni del record * il numero di record è elevato.
  • Abilitare l'ottimizzazione per le tabelle con tabella codici non corrente quando ENGINEBEHAVIOR < 90.
  • Messaggio di errore "Coerenza interna" durante l'indicizzazione con un filtro di raccolta annidato.
  • La condizione di filtro che modifica temporaneamente l'area di lavoro corrente può interrompere la relazione o interrompere la generazione XML annidata con XMLAdapter.
  • Query Processor non riesce a trovare la colonna nell'elenco SELECT se è racchiusa tra parentesi e segnala false "SQL: clausola ORDER BY non valida" messaggio di errore.
  • Messaggio di errore imprevisto "SQL: CLAUSOLA GROUP BY mancante o non valida" durante il tentativo di creare una vista o una vista USE con NODATA.
  • La query genera un risultato errato quando ENGINEBEHAVIOR < 90, la sottoquery restituisce la funzione Aggregate e nessun record corrisponde alla condizione WHERE della sottoquery.
  • COPIA IN ... AS nCodepage non riesce a codificare memo con la tabella codici corretta e usa invece CPCURRENT().
  • I valori memo non vengono convertiti quando vengono copiati da tabelle con tabella codici corrente in una tabella con tabella codici diversa (COPY TO, SQL SELECT, APPEND FROM).
  • SELEZIONARE... WITH BUFFERING esegue il pull imprevisto dei dati memorizzati nel buffer da un cursore, a cui non è stato fatto riferimento in modo esplicito nella clausola FROM.

IDE

  • Project Manager: applicazione di compilazione di eccezioni irreversibile che usa l'icona ancora in memoria.
  • Finestra Proprietà: finestra Zoom con chiusura eccezione irreversibile con tasto INVIO in Verifica app con SET KEYCOMP TO DOS.
  • Errore di coerenza interno di Gestione menu durante l'emissione di POPUP CLEAR.
  • Richiedere il salvataggio dei riferimenti alle query per il file tmp.
  • Le descrizioni comando vengono visualizzate nel monitoraggio destro quando si esegue VFP nel monitoraggio sinistro nella configurazione con più monitor in cui il monitoraggio primario è a destra.
  • C0000005 errore nella Designer Visualizza con espressione long.
  • Project Manager: modifica irreversibile del tipo di carattere in Project Manager dopo l'operazione Dock/Undock.
  • Project Manager: i nuovi project manager non memorizzano le posizioni quando si seleziona Sostituisci impostazioni singole per il tipo di progetti nella scheda IDE della finestra di dialogo Opzioni .
  • Il generatore ri usa una sintassi non corretta per il comando UNLOCK.
  • La classe Picbtns di Wizbtns.vcx visualizza avvisi quando viene utilizzata con CursorAdapter.
  • Project Manager: VFP smette di rispondere (si blocca) durante la ricompilazione dell'app dopo il messaggio di errore che classlib viene usato.
  • La violazione di accesso C0000005 durante l'attivazione di IntelliSense nell'editor del programma.
  • IntelliSense: C0000005 violazione di accesso che esce dalla classe Designer dopo il tentativo non riuscito di accedere a LPARAMETER IntelliSense per il metodo membro.
  • Eccezione irreversibile durante il debug di un file di codice di grandi dimensioni.
  • Builders: MemberData Editor - Il bug di codice in GetHierarchy() di MemberDataEditor.scx causa un errore di gerarchia nell'editor MemberData.
  • Finestra Proprietà: C0000005 eccezione di chiusura della classe Designer con CursorAdapter, XMLAdapter, XMLTable e XMLField dopo aver premuto ESC su una proprietà con valore superiore a 255 caratteri.
  • Editor: l'utilizzo della CPU al 100% si blocca quando si usa Generatore di espressioni dalla finestra dell'editor di codice che contiene solo due righe vuote.
  • IntelliSense: eccezione irreversibile nei membri dell'elenco dopo la creazione dell'associazione anticipata dell'oggetto mapi.session con CreateObjectex().
  • Messaggio di errore "Sfoglia tabella chiusa" seguito da un'eccezione non gestita (c05) quando si crea confusione con il file di risorse durante l'esplorazione della tabella.
  • Nella piattaforma Cinese semplificato, riducendo la larghezza di un controllo TextBox che contiene una stringa dbcs, l'IDE smette di rispondere.
  • Nella piattaforma Cinese semplificato, eccezione irreversibile durante l'esecuzione del programma.
  • Il ridimensionamento di Project Manager non aggiorna la visualizzazione ad albero dei file.
  • L'esempio di pulsante di opzione negli esempi di soluzione genera un errore DATATYPE MISMATCH.
  • Raccolta componenti: "Errore durante la compilazione della chiave per l'indice" quando si seleziona Pulisci dal menu di scelta rapida.
  • Generatori: problemi con le finestre di dialogo Proprietà in ReportBuilder.app.
  • Messaggio di errore "Stampante non pronta" durante la stampa in EMF-Citrix driver della stampante all'interno della sessione client Citrix nel server di presentazione Metaframe 4.0. Altre applicazioni possono stampare correttamente su questa stampante.
  • Messaggio di errore "'local thisview' non è consentito nello script di visualizzazione o si trova nella posizione errata" in Visualizza Designer.
  • Rendere ReportBuilder.app localizzabile.

Lingua

  • La funzione SQLEXEC() consente la reentrazione per lo stesso handle di connessione.
  • DEBUGOUT restituisce dati binari come stringhe.
  • CursorToXML() e XMLAdapter non restituisce secondi per i valori xsd:dateTime se SET SECONDS è OFF.
  • C0000005 seguito dal messaggio di errore "Chiamata pushjmp/popjmp non corrispondente" durante l'esecuzione del programma da "do <program.prg>" nel menu dell'editor del programma e quindi seguito da una chiamata a EXESCRIPT().
  • WEXIST() trova le finestre ToolTipText.
  • Perdita di memoria quando si imposta la proprietà ActiveConnection dell'oggetto ADO RecordSet su NULL.
  • Messaggio di errore "Coerenza interna" seguito dall'arresto anomalo dei metodi di chiamata VFP dell'oggetto restituiti con GetObject("IIS://LocalHost/W3SVC/1").
  • XMLToCursor() e XMLAdapter non riescono a caricare i valori di tipo xsd:date se la parte relativa all'ora è presente.
  • SQLCOLUMNS() ha esito negativo con nomi complessi se almeno una parte del nome contiene uno spazio o un altro carattere "non valido".
  • ADIR restituisce dimensioni di file non valide per >i file 2gig (PC virtuali).
  • GETOBJECT() ha un limite di parametri in base alla specifica del file (261 caratteri).
  • L'ottimizzazione delle stringhe per la ricorsione produce risultati errati.
  • Il numero letterale causa errori BINTOC().
  • La conversione di Bintoc in Character tramite CTOBIN() genera un valore di posta indesiderata.

VFP OLE DB Provider

  • Provider OLE DB: SYS(3050) deve essere 128 MB nel provider per impostazione predefinita.
  • Provider OLE DB: la perdita di memoria apparente causa l'errore di connettività "impossibile convertire il valore dei dati..." con openrowset o openquery ripetuti nel server collegato SQL.
  • Impossibile creare il set di dati con il provider OLE DB VFP.
  • GetSchema(string, string[]) non è riuscito a filtrare in base a INDEX_NAME.
  • Provider OLE DB: abilitare SYS(3055) ("For and WHERE Clause Complexity") all'interno del provider.
  • Il provider OLE DB VFP gestisce erroneamente i parametri binari.
  • Abilitare i comandi DROP VIEW e DROP PROCEDURE.
  • DBSCHEMA_PROCEDURES set di righe restituisce procedure obsolete.
  • DBSCHEMA_PROCEDURES set di righe restituisce una definizione di routine incompleta.
  • APPEND PROCEDURES ignora gli errori di compilazione nelle procedure.
  • L'accesso al contenitore di database (DBC) senza tabelle può causare un errore di sovraccarico del buffer.

Creazione di report

  • Report Builder finestre di dialogo devono rispettare le impostazioni internazionali.
  • In alcuni casi, l'anteprima del report presenta un titolo non corretto.
  • Quando viene visualizzata l'anteprima del report assistito da oggetti, la barra degli strumenti anteprima di stampa iniziale è diversa da quella aperta selezionando Barra degli strumenti dal menu di superficie Anteprima report .
  • L'oggetto nel report impostato su "Ridimensiona contenuto, mantieni forma" viene visualizzato in modo diverso tra l'anteprima del report e il codice HTML creato da un oggetto HTMLListener.
  • Più bande di dettagli non funzionano correttamente quando è attivato "Inizia nella nuova pagina".
  • La finestra di dialogo Vai a pagina viene visualizzata all'esterno dell'intervallo visibile in quando la proprietà Preview Container TopForm è .T. e windowstate è NORMAL.
  • La barra degli strumenti Anteprima report di nuovo stile non è accessibile quando il report viene visualizzato in anteprima in formato SDI senza clausola NOWAIT nel comando REPORT FORM.
  • Finestra del codice piena di caratteri di garbage quando si tenta di chiudere Progettazione report e si fa clic su NO nel prompt Salvare le modifiche alla <procedura>? .
  • Il limite di raggruppamento dei dati per un report è elencato come 74 nell'argomento della documentazione "Procedura: Aggiungere gruppi di dati ai report", ma ReportBuilder.app limita a 20.
  • La giustificazione per il formato numerico è Left justify. Questo comportamento è diverso dalle versioni precedenti di VFP e dalle Progettazione report predefinite.
  • Non viene visualizzato alcun errore durante la chiusura della finestra di dialogo Proprietà report dopo aver impostato il valore iniziale di una variabile di report su un valore non valido.
  • La finestra di dialogo Espressione report per il campo con errore non viene visualizzata dopo l'errore di anteprima con mentre REPORTBEHAVIOR = 90.
  • I valori calcolati nell'intestazione dei dettagli del report vengono reimpostati in modo imprevisto quando l'opzione di intestazione dei dettagli di ristampe è attiva.
  • Le proprietà ReportListener, AdjustObjectSize e MaxHeightAvailable non funzionano con oggetti mobili.
  • L'anteprima di un report che contiene un'immagine che si trova sul disco causa una perdita di handle GDI ogni volta che l'anteprima viene aggiornata.
  • ANTEPRIMA REPORT GDI gestisce le limitazioni con molte pagine.
  • Opzione di report di intestazione e piè di pagina associata: i numeri sequenziali non vengono stampati tra le pagine.
  • ReportListener.OutputPage in HDC usa 96 DPI anziché DPI stampante.
  • "Property WindowState non esiste nella riga 325 del messaggio di errore ResourceManager::SaveWindowState()".
  • La finestra di dialogo Multiselect consente l'impostazione dei flag di protezione, anche quando il report è PROTECTED.
  • Viene richiesto di usare FRX se si passa da "load from FRX" a "link to Class".
  • Dopo l'annullamento dal primo prompt GETFILE(FRX), viene richiesto di nuovo GETFILE.
  • L'anteprima del report sovrascrive m.oForm se è stata dichiarata in precedenza all'esterno dell'anteprima.
  • I programmi devono rispettare l'indicatore DPI dello schermo "reale" in fase di esecuzione anziché l'indicatore DPI 96 in fase di progettazione.
  • Durante il caricamento di un oggetto DataEnvironment da una classe con attributi specifici si verificano vari errori.
  • Il percorso completo della libreria di classi DE collegata viene scritto nel codice di collegamento. Questo non è sempre appropriato.
  • In alcune circostanze, le proprietà del modulo di anteprima non vengono salvate correttamente nel file di risorse.
  • Viene visualizzato il messaggio di errore "Membro sconosciuto cmdPrint" se è stata selezionata l'opzione AllowPrintFromPreview = .F.
  • Non tutte le variabili in FRXOUTPUT.prg avevano "m.".
  • Migliorare l'app in modo che sia più intelligente riguardo al tipo di output sconosciuto se viene passato un riferimento al listener valido.
  • Assicurarsi "m." in tutti i metodi e #DEFINEs che includono espressioni.
  • I listener basati su file derivati da XmlListener che usavano la proprietà ApplyUserXSLT non potevano specificare solo directory per TargetFileName.
  • Il menu Anteprima report non può più essere visualizzato con il tasto MAIUSC-F10 dopo la visualizzazione della finestra di dialogo Vai a pagina .
  • Le dimensioni della banda del report non cambiano correttamente con gli oggetti mobili che si estendono.
  • C0000005 eccezione durante l'anteprima di stampa del report con il campo EXPR danneggiato nel file frx.
  • Migliorare reportoutput.app per gestire il tipo di output sconosciuto se viene passato un riferimento al listener valido.

Runtime e COM

  • Barra degli strumenti o barra di stato non visibile nell'applicazione eseguita in Windows 98 Seconda edizione.
  • Messaggio di errore "Impossibile trovare il punto di ingresso della routine GetLongPathNameA nella libreria a collegamento dinamico KERNEL32.dll" in runtime in Windows NT 4.0.
  • Perdita di memoria con IMPLEMENTS nei server COM.
  • Parametro COM non valido che passa con tipi unsigned long e unsigned int.
  • Deadlock in REMClearConnect e csCritSectionEnter quando COM+ ricicla il processo di lavoro dllhost.
  • COMARRAY. Nel server COM di Visual Basic 6.0 il tipo date non funziona.
  • Non è possibile inizializzare OCXAPI per gli oggetti di associazione anticipata.
  • Messaggio di errore "Dimensioni matrice non valide" 230 quando si passa una matrice >di grandi dimensioni 65000.