起始SDL

SDL由八子系統組成-音頻信號,唯讀光碟,事件處理,檔案 輸入/輸出,操縱桿處理,Threading,計時器和影像組成.在你能使用任何這些子系統之前,他們一定要起動系統由呼叫(call) SDL_Init (或者 SDL_InitSubSystem)開始.SDL_Init一定要在任何一SDL功能使用以前呼叫(call).它自動預置事件處理,檔案 I/O 和 Threading 子系統和它採用一些系統參數說明哪一個子系統會同時起動.那樣,起動預設的子系統和影像子系統你將用以下程式:
    SDL_Init(SDL_INIT_VIDEO);
起動預設的子系統,影像子系統和計時器子系統你將呼叫:
    SDL_Init(SDL_INIT_VIDEO or SDL_INIT_TIMER);
SDL_Init會完結,當  SDL_Quit(和 SDL_QuitSubSystem)被呼叫. SDL_Quit會關閉所有的包含預設的那些子系統.它應該總是在一SDL完畢前被呼叫的.

SDL_InitSDL_Quit 在一起堅定地嵌入在你的程式設計師套裝工具那兒,你能首先寫下你的最基本SDL應用程式.但是,我們是必須處理錯誤.很多SDL函式(function)歸還一數值和指示該函式(function)已經成功執行或者失敗,如果它不能起動一子系統,SDL_Init會還數值-1. SDL提供一套有用設施,其允許你確定問題所在.在SDL內發生的錯誤,一定有錯誤訊息被準確儲藏及能被SDL_GetError找回使用.常使用這個,你必然不會經常發生的錯誤.

例子1-1.起始SDL

uses SDL;//整個SDL App的需求這個

begin
   MessageBox(0, 'Initializing SDL.', 'Error', MB_OK or MB_ICONHAND);
// 預置起始,影像和音頻信號
if( ( SDL_Init(SDL_INIT_VIDEO or SDL_INIT_AUDIO)= -1 ) ) then
begin
MessageBox(0, PChar(Format('Couldn''t initialize SDL : %s',
[SDL_GetError])), 'Error', MB_OK or MB_ICONHAND);
exit;
end;
    MessageBox(0, 'SDL Initialized.', 'Error', MB_OK or MB_ICONHAND);
    MessageBox(0, 'Quiting SDL.', 'Error', MB_OK or MB_ICONHAND);
//關閉所有的子系統
SDL_Quit;
   MessageBox(0, 'Quiting.', 'Error', MB_OK or MB_ICONHAND);
exit;
end;