Potete dirmi per favore perché ricevo degli errori
2019.02.1706:13:28.974 Test_4G_CB (Si Splice,H1) 1 Тут ошибка 4202 Графический объект не найден
2019.02.1706:13:28.983 Test_4G_CB (Si Splice,H1) 2 Тут ошибка 4202 Графический объект не найден
in questo codice
if(ObjectFind(chart,name)<0)
{
Print("1 Тут ошибка ",GetLastError()," ",cLng::CodeDescription(GetLastError()));
ResetLastError();
graphic.Create(chart,name,0,0,0,pix_X,pix_Y);//Создает графический ресурс, привязанный к объекту чарта Print("2 Тут ошибка ",GetLastError()," ",cLng::CodeDescription(GetLastError()));
ResetLastError();
}
Se il primo errore è ancora comprensibile - un oggetto non viene trovato, ma l'attuazione della ricerca di un oggetto mancante senza errore non è chiara, il secondo errore non è chiaro, mentre l'oggetto è chiaramente creato - il grafico è formato e la ragione dell'errore non è chiara.
Potete dirmi per favore perché ricevo degli errori
in questo codice
Se il primo errore è ancora comprensibile - un oggetto non viene trovato, ma l'attuazione della ricerca di un oggetto mancante senza errore non è chiara, il secondo errore non è chiaro, mentre l'oggetto è chiaramente creato - il grafico è formato e la ragione dell'errore non è chiara.
Come eliminare l'errore?
ResetLastError() deve essere fatto prima di chiamare la funzione. Cosa c'è qui:
graphic.Create()
non è chiaro. Se questo è CCanvas, allora il metodo Create() crea una risorsa grafica senza riferimento all'oggetto grafico. E restituisce o vero o falso:
Creare
Crea una risorsa grafica senza legame con un oggetto grafico.
[Base per il nome della risorsa grafica. Il nome della risorsa è formato durante la creazione aggiungendo una stringa pseudo-casuale.
larghezza
Larghezza [in] Larghezza (dimensione X) in pixel.
altezza
[in] Altezza (dimensione dell'asse Y) in pixel.
clrfmt=COLOR_FORMAT_XRGB_NOALPHA
[Metodo di elaborazione del colore. Vedere la descrizione della funzione ResourceCreate() per maggiori dettagli sui metodi di gestione dei colori.
Il valore di ritorno è
true - se ha successo, altrimenti false
In generale, è difficile da capire da quello che avete mostrato.
Ma potete provare in questo modo:
//+------------------------------------------------------------------+ResetLastError();
if(ObjectFind(chart,name)<0)
{
Print("1 Тут ошибка потому, что объекта нет ещё",GetLastError()," ",cLng::CodeDescription(GetLastError()));
ResetLastError();
if(!graphic.Create(chart,name,0,0,0,pix_X,pix_Y))
Print("2 Тут ошибка ",GetLastError()," ",cLng::CodeDescription(GetLastError()));
}
//+------------------------------------------------------------------+
Se avete CGraphic lì, dovete entrare nel codice di Create() per capire cosa restituisce, dato che non c'è una parola al riguardo nell'aiuto:
Non si resetta l'errore prima di accedere alla funzione di ricerca degli oggetti.
Sì, nella citazione del codice non resetto, come ho già controllato il codice sopra - non c'è nessun errore lì, quindi ho cancellato linee di controllo simili come mostrato qui sotto.
Non si azzera l'errore prima di chiamare la funzione di ricerca degli oggetti.
Ancora una volta ho deciso di ripetere l'esperimento, ecco il codice
//--- отключим показ ценового графикаChartSetInteger(0,CHART_SHOW,false);
long chart=ChartID();
CGraphic graphic;
Print("0 Тут ошибка ",GetLastError()," ",cLng::CodeDescription(GetLastError()));
ResetLastError();
if(ObjectFind(chart,name)<0)
{
Print("1 Тут ошибка ",GetLastError()," ",cLng::CodeDescription(GetLastError()));
ResetLastError();
graphic.Create(chart,name,0,0,0,pix_X,pix_Y);//Создает графический ресурс, привязанный к объекту чарта Print("2 Тут ошибка ",GetLastError()," ",cLng::CodeDescription(GetLastError()));
ResetLastError();
}
Ecco il risultato.
2019.02.1708:55:19.845 Test_4G_CB (Si Splice,H1) 0 Тут ошибка 0 Операция выполнена успешно
2019.02.1708:55:19.860 Test_4G_CB (Si Splice,H1) 1 Тут ошибка 4202 Графический объект не найден
2019.02.1708:55:19.860 Test_4G_CB (Si Splice,H1) 2 Тут ошибка 4202 Графический объект не найден
Denis Nikolaev: Ciao, la mia funzione di avviso legge una stringa da un file e la restituisce in caratteri cinesi o giapponesi, come posso risolvere il problema?
Configurare i font in Windows. Imposta il russo per "Lingua per i programmi che non supportano Unicode".
Potete dirmi per favore perché ricevo degli errori
in questo codice
Se il primo errore è ancora comprensibile - un oggetto non viene trovato, ma l'attuazione della ricerca di un oggetto mancante senza errore non è chiara, il secondo errore non è chiaro, mentre l'oggetto è chiaramente creato - il grafico è formato e la ragione dell'errore non è chiara.
Come eliminare gli errori?
Potete dirmi per favore perché ricevo degli errori
in questo codice
Se il primo errore è ancora comprensibile - un oggetto non viene trovato, ma l'attuazione della ricerca di un oggetto mancante senza errore non è chiara, il secondo errore non è chiaro, mentre l'oggetto è chiaramente creato - il grafico è formato e la ragione dell'errore non è chiara.
Come eliminare l'errore?
ResetLastError() deve essere fatto prima di chiamare la funzione. Cosa c'è qui:
non è chiaro. Se questo è CCanvas, allora il metodo Create() crea una risorsa grafica senza riferimento all'oggetto grafico. E restituisce o vero o falso:
Creare
Crea una risorsa grafica senza legame con un oggetto grafico.
Parametri
nome
[Base per il nome della risorsa grafica. Il nome della risorsa è formato durante la creazione aggiungendo una stringa pseudo-casuale.
larghezza
Larghezza [in] Larghezza (dimensione X) in pixel.
altezza
[in] Altezza (dimensione dell'asse Y) in pixel.
clrfmt=COLOR_FORMAT_XRGB_NOALPHA
[Metodo di elaborazione del colore. Vedere la descrizione della funzione ResourceCreate() per maggiori dettagli sui metodi di gestione dei colori.
Il valore di ritorno è
true - se ha successo, altrimenti false
In generale, è difficile da capire da quello che avete mostrato.
Ma potete provare in questo modo:
Se avete CGraphic lì, dovete entrare nel codice di Create() per capire cosa restituisce, dato che non c'è una parola al riguardo nell'aiuto:
ResetLastError() deve essere eseguito prima che la funzione venga chiamata. Cosa c'è qui:
non è chiaro. Se è CCanvas, il metodo Create() crea una risorsa grafica senza riferimento ad un oggetto grafico. E restituisce o vero o falso:
Creare
Crea una risorsa grafica senza legame con un oggetto grafico.
Parametri
nome
[Base per il nome della risorsa grafica. Il nome della risorsa è formato durante la creazione aggiungendo una stringa pseudo-casuale.
larghezza
Larghezza [in] Larghezza (dimensione X) in pixel.
altezza
[in] Altezza (dimensione dell'asse Y) in pixel.
clrfmt=COLOR_FORMAT_XRGB_NOALPHA
[Metodo di elaborazione del colore. Vedere la descrizione della funzione ResourceCreate() per maggiori dettagli sui metodi di gestione dei colori.
Il valore di ritorno è
true - se ha successo, altrimenti false
In generale, è difficile da capire da quello che avete mostrato.
Ma potete provare in questo modo:
Se avete CGraphic lì, dovete entrare nel codice di Create() per capire cosa restituisce, dato che non c'è nessuna parola al riguardo nell'aiuto:
Ho già controllato sopra con il reset degli errori e ho localizzato il luogo dove si verifica l'errore.
Inoltre, si verifica due volte da funzioni diverse - dopo la prima funzione l'errore viene cancellato, ma poi si ripete.
E la mia variante di creazione
Creare
Crea una risorsagrafica collegata all'oggetto grafico.
bool Create (
const longchart,// ID del grafico
const stringname,//name
const intsubwin,// numero di sottofinestra
const intx1,//coordinata x1
const inty1,//coordinata y1
const intx2,//coordinata x2
const inty2//coordinata y1
)
Parametri
grafico
L'identificatore [in] del grafico.
nome
[Nome.
subwin
[Numero di sottofinestra.
x1
[Coordinata X1.
y1
[Coordinata Y1.
x2
[Coordinata X2.
y2
[Coordinata Y2.
Ho già controllato sopra con un reset degli errori e ho localizzato dove si verifica l'errore
Non si resetta l'errore prima di accedere alla funzione di ricerca degli oggetti.
Non si resetta l'errore prima di accedere alla funzione di ricerca degli oggetti.
Sì, nella citazione del codice non resetto, come ho già controllato il codice sopra - non c'è nessun errore lì, quindi ho cancellato linee di controllo simili come mostrato qui sotto.
Non si azzera l'errore prima di chiamare la funzione di ricerca degli oggetti.
Ancora una volta ho deciso di ripetere l'esperimento, ecco il codice
Ecco il risultato.
Qualche idea su cosa abbia causato l'errore?Ciao, la mia funzione di avviso legge una stringa da un file e la restituisce in caratteri cinesi o giapponesi, come posso risolvere il problema?
Configurare i font in Windows. Imposta il russo per "Lingua per i programmi che non supportano Unicode".
"Standard regionali" - "Avanzato".
Configurare i font in Windows. Imposta il russo per "Lingua per i programmi che non supportano Unicode".
"Norme regionali - Avanzate.
Questo non ha funzionato.
Ottengo una traduzione automatica in giapponese o cinese di una riga letta da un file, perché succede questo?
Ancora una volta ho deciso di ripetere l'esperimento, ecco il codice
Ecco il risultato
Qualche idea su cosa abbia causato l'errore?Bene, dal momento che hai azzerato l'ultimo errore, guarda nelle zone selvagge di CGraphic dove si verifica questo codice di errore.