Articles of Delphi

Come faccio a far sapere a Delphi che ho già gestito un’eccezione?

Ho impostato Application.OnException su un gestore di eccezioni personalizzato in modo che possa registrare arresti anomali e dare un’opzione per uscire. Tuttavia, ora sto trovando che questo funziona anche su eccezioni che ho già gestito, ad esempio, eccezioni che emergono quando si convalidano gli input numerici. C’è un modo per far sì che il gestore […]

Come inviare una richiesta POST HTTP in Delphi usando WinInet api

Sto cercando di fare richieste HTTP da Delphi usando le funzioni WinInet. Finora ho: function request:string; var hNet,hURL,hRequest: HINTERNET; begin hNet := InternetOpen(PChar(‘User Agent’),INTERNET_OPEN_TYPE_PRECONFIG or INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); if Assigned(hNet) then begin try hURL := InternetConnect(hNet,PChar(‘http://example.com’),INTERNET_DEFAULT_HTTP_PORT,nil,nil,INTERNET_SERVICE_HTTP,0,DWORD(0)); if(hURLnil) then hRequest := HttpOpenRequest(hURL, ‘POST’, PChar(‘param=value’),’HTTP/1.0′,PChar(”), nil, INTERNET_FLAG_RELOAD or INTERNET_FLAG_PRAGMA_NOCACHE,0); if(hRequestnil) then HttpSendRequest(hRequest, nil, 0, nil, 0); […]

Antivirus Falso positivo nel mio eseguibile

Ho appena incontrato un problema fastidioso. All’improvviso Avira AntiVir ha iniziato a contrassegnare un eseguibile del mio software come un virus. Poiché l’azione predefinita da quasi tutti gli utenti è fare clic su OK e Avira suggerisce di mettere il virus in quarantena, la maggior parte dei miei utenti sta eliminando questo eseguibile. Beh, non […]

Come creare un effetto di scorrimento rallentato su una casella di scorrimento?

Mi piace creare un effetto di scorrimento a rallentamento uniforms dopo aver effettuato il panning di un’immagine in una casella di scorrimento. Proprio come fare un panning della mappa in maps.google.com . Non sono sicuro di che tipo sia, ma esattamente lo stesso comportamento: quando trascini la mappa con una mossa veloce, non si ferma […]

bitmap rotanti. Nel codice

C’è un modo più veloce per ruotare una grande bitmap di 90 o 270 gradi rispetto al semplice fare un ciclo annidato con coordinate invertite? Le bitmap sono 8bpp e in genere 2048 * 2400 * 8bpp Attualmente lo faccio semplicemente copiando inversione di argomenti, approssimativamente (pseudo codice: for x = 0 to 2048-1 for […]

Come modificare l’implementazione (deviazione) di una funzione dichiarata esternamente

Ho una funzione di terze parti function DataCompare(const S1, S2: string; APartial: Boolean): Boolean; begin … end; È utilizzato in un’altra unità di terze parti. Desidero sostituire il corpo della funzione in fase di esecuzione con un’altra nuova implementazione. È ansible? Immagino che ci sarà bisogno di alcuni hack (ala VirtualMemoryUnprotect). Una soluzione non assemblata […]

Errore di sistema. Codice: 8. Spazio insufficiente per elaborare questo comando

Abbiamo alcune applicazioni Win32 (codificate in Delphi 2006) dove a volte l’utente riceve un messaggio di errore che dice “Errore di sistema Codice: 8. Memoria insufficiente per elaborare questo comando.” . Dalla stacktrace sembra che sia sempre durante la chiamata CreateWnd Main ($1edc): 004146cc +070 app.exe SysUtils RaiseLastOSError 00414655 +005 app.exe SysUtils RaiseLastOSError 004ce44c +130 […]

Temi visivi di Windows: galleria di parti e stati?

Microsoft Windows consente ai programmatori di disegnare elementi GUI utilizzando l’aspetto del tema corrente utilizzando funzioni come DrawThemeBackground e DrawThemeText . Gli elementi sono specificati per Classe, Parte e Stato, come descritto nella pagina Parti e stati di MSDN. Sfortunatamente, la pagina non è molto istruttiva (per niente!). Quindi la domanda è: c’è da qualche […]

Come dovrei preparare i miei programmi Delphi a 32 bit per un eventuale compilatore a 64 bit?

Possibile duplicato: Come preparare anche i 64 bit durante la migrazione a Delphi 2010 e Unicode Dato che credo che il compilatore Delphi a 64 bit apparirà presto, sono curioso di sapere qual è il tipo di programmi che ora sono a 32 bit e che compilano e funzionano senza modifiche quando si utilizza il […]

Applicazione Delphi con login / logout – come implementare?

L’applicazione ha un modulo di accesso e un modulo principale. Il file DPR delle applicazioni contiene il codice per caricare prima il modulo di accesso e, quando il modulo di accesso restituisce il login, il modulo principale viene creato e caricato. Quando l’utente si disconnette tramite un comando di menu in Main form, dovrebbe chiudere […]